diff -Nrcpad gcc-16-20260118/ChangeLog gcc-16-20260125/ChangeLog
*** gcc-16-20260118/ChangeLog	Sun Jan 18 22:32:05 2026
--- gcc-16-20260125/ChangeLog	Sun Jan 25 22:32:06 2026
***************
*** 1,3 ****
--- 1,12 ----
+ 2026-01-22  Alejandro Colomar  <alx@kernel.org>
+ 
+ 	* MAINTAINERS: Add myself to Write After Approval and DCO
+ 
+ 2026-01-19  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>
+ 
+ 	* configure: Regenerate.
+ 	* configure.ac: Deprecate -m31.
+ 
  2026-01-14  Vineet Gupta  <vineet.gupta@linux.dev>
  
  	* MAINTAINERS: Update to my linux.dev email.
diff -Nrcpad gcc-16-20260118/LAST_UPDATED gcc-16-20260125/LAST_UPDATED
*** gcc-16-20260118/LAST_UPDATED	Sun Jan 18 22:32:21 2026
--- gcc-16-20260125/LAST_UPDATED	Sun Jan 25 22:32:23 2026
***************
*** 1 ****
! Obtained from git: master revision db873dbcafd37a9a58cc7b26892d16336e6d0c56
--- 1 ----
! Obtained from git: master revision 9077e2067bc8667084745c7746b48d0e3e49b063
diff -Nrcpad gcc-16-20260118/MAINTAINERS gcc-16-20260125/MAINTAINERS
*** gcc-16-20260118/MAINTAINERS	Sun Jan 18 22:32:05 2026
--- gcc-16-20260125/MAINTAINERS	Sun Jan 25 22:32:06 2026
*************** Nick Clifton                    nickc
*** 432,437 ****
--- 432,438 ----
  Arthur Cohen                    cohenarthur     <arthur.cohen@embecosm.com>
  William Cohen                   -               <wcohen@redhat.com>
  Michael Collison                collison        <michael.collison@arm.com>
+ Alejandro Colomar               -               <alx@kernel.org>
  Josh Conner                     jconner         <joshconner@google.com>
  R. Kelley Cook                  kcook           <kcook@gcc.gnu.org>
  Alex Coplan                     acoplan         <alex.coplan@arm.com>
*************** Daniel Barboza
*** 961,966 ****
--- 962,968 ----
  Peter Bergner                                   <bergner@tenstorrent.com>
  Dhruv Chawla                                    <dhruvc@nvidia.com>
  Juergen Christ                                  <jchrist@linux.ibm.com>
+ Alejandro Colomar                               <alx@kernel.org>
  Giuseppe D'Angelo                               <giuseppe.dangelo@kdab.com>
  Robin Dapp                                      <rdapp.gcc@gmail.com>
  Robin Dapp                                      <rdapp@qti.qualcomm.com>
diff -Nrcpad gcc-16-20260118/MD5SUMS gcc-16-20260125/MD5SUMS
*** gcc-16-20260118/MD5SUMS	Sun Jan 18 22:32:26 2026
--- gcc-16-20260125/MD5SUMS	Sun Jan 25 22:32:28 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-16-20260118.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-16-20260125.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
*************** ac5a8807f431d3dab46a7425b96379e4  .gitig
*** 24,35 ****
  fe60d87048567d4fe8c8a0ed2448bcc8  COPYING.RUNTIME
  d32239bcb673463ab874e80d47fae504  COPYING3
  6a6a8e020838b23406c81b19c1d46df6  COPYING3.LIB
! 243dd1bdcd5e3905dd1b373d187f42f4  ChangeLog
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 8f7af9543352e508e17f70676ff23560  LAST_UPDATED
! ece8de36482829e6305842f511825712  MAINTAINERS
  af43617880b3cd9c10627c97e639d29e  Makefile.def
  1ce83cd940f8facbf202979ac1b7b2c4  Makefile.in
  98d7e10ec29466105ecf01effa809a77  Makefile.tpl
--- 24,35 ----
  fe60d87048567d4fe8c8a0ed2448bcc8  COPYING.RUNTIME
  d32239bcb673463ab874e80d47fae504  COPYING3
  6a6a8e020838b23406c81b19c1d46df6  COPYING3.LIB
! e7934fd1dc002b83ffe40322ac8a4348  ChangeLog
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 8e673411903b567ccb917dc65363e92d  LAST_UPDATED
! b8fa044b3336d9cc6214e6ff3e9b467d  MAINTAINERS
  af43617880b3cd9c10627c97e639d29e  Makefile.def
  1ce83cd940f8facbf202979ac1b7b2c4  Makefile.in
  98d7e10ec29466105ecf01effa809a77  Makefile.tpl
*************** c5a60ac6626343968c4ef1fdf261bf62  c++too
*** 49,55 ****
  c64564b7c7563dae5ebe016f340c9cd9  config.guess
  040359150cf11493f973a46d8a25b06b  config.rpath
  111d54aa3a3019adbab413c8fb435f22  config.sub
! b494703474cf69d74bb399d52178be09  config/ChangeLog
  e8365ab73da09dccff77a6e2ad006a68  config/acinclude.m4
  45979039ae56d255a866095bc20985a4  config/acx.m4
  6b030f5cf640bdd401ea739f54a667f8  config/asmcfi.m4
--- 49,55 ----
  c64564b7c7563dae5ebe016f340c9cd9  config.guess
  040359150cf11493f973a46d8a25b06b  config.rpath
  111d54aa3a3019adbab413c8fb435f22  config.sub
! 9880febd038d40bf6aa0192a3adac1c7  config/ChangeLog
  e8365ab73da09dccff77a6e2ad006a68  config/acinclude.m4
  45979039ae56d255a866095bc20985a4  config/acx.m4
  6b030f5cf640bdd401ea739f54a667f8  config/asmcfi.m4
*************** babb6167c05386834412652e8b27239e  config
*** 71,76 ****
--- 71,77 ----
  9a194b56c06b616528d1e76306aa78e6  config/bootstrap-debug.mk
  584327e59bbe42cfcf0b041fed0f4526  config/bootstrap-hwasan.mk
  a3bca109766820001668b4d4f41057c6  config/bootstrap-lto-lean.mk
+ 368ab20dabf5bad2d11c823374576d75  config/bootstrap-lto-locality-cpp-template.mk
  c848c13e0ea39451f067f8d1404d9982  config/bootstrap-lto-locality.mk
  33768879cdb11bf946d977ab6632d169  config/bootstrap-lto-noplugin.mk
  ece3bc716fac1aca84326d40b97a4b4b  config/bootstrap-lto.mk
*************** e2dc6b4fd62b77bff96b7951ef74f78f  config
*** 156,163 ****
  7ef51b0adb98e5c5f7aba46d2c7293f1  config/weakref.m4
  0163b672c888aaf1c8ad3e867a0ec9f1  config/zlib.m4
  db74a73c3c9c3cc71edec37c2436e082  config/zstd.m4
! 2e1f2f8bb820176fe9a7373cb64ad305  configure
! 9cc89bd336afd27c07c8d8379a13947c  configure.ac
  018170b373a2624c9703a9cc6b5cbe07  contrib/ChangeLog
  5fc435c7928f858246df931ea3f3ece7  contrib/ChangeLog.jit
  7af8d2979bf1a7cfa88e30d05fa22be2  contrib/ChangeLog.tree-ssa
--- 157,164 ----
  7ef51b0adb98e5c5f7aba46d2c7293f1  config/weakref.m4
  0163b672c888aaf1c8ad3e867a0ec9f1  config/zlib.m4
  db74a73c3c9c3cc71edec37c2436e082  config/zstd.m4
! a4cf7c1e80a4ca16c7140da014eb6160  configure
! c6c041ed3d45073918c4c65f8b25e93c  configure.ac
  018170b373a2624c9703a9cc6b5cbe07  contrib/ChangeLog
  5fc435c7928f858246df931ea3f3ece7  contrib/ChangeLog.jit
  7af8d2979bf1a7cfa88e30d05fa22be2  contrib/ChangeLog.tree-ssa
*************** f15bc3c5de22eac0bdd4f611502139a0  gcc/AB
*** 519,525 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 13f803b4cb81351cfb47f98e77c83c86  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
--- 520,526 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 7b75a684202cb2ec0b6e9a2323754bd0  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 557,563 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 5e8586b72b2fd5ad862cf6780abbf2c6  gcc/DATESTAMP
  deb513e591f23901188e22323bd3b1d4  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 558,564 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! ed84b57624d6d0b5e00bde4c0b805221  gcc/DATESTAMP
  deb513e591f23901188e22323bd3b1d4  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** c8c9dd1eaee4ffd4d5d9f3ab70fddd4b  gcc/RE
*** 569,575 ****
  ad60bbbc1a86c00cde3257eac7028538  gcc/acinclude.m4
  e74733ebf762151e601c9e0aa1461a20  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! 95e0bbdbdd5010f59e985710d27b2170  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
--- 570,576 ----
  ad60bbbc1a86c00cde3257eac7028538  gcc/acinclude.m4
  e74733ebf762151e601c9e0aa1461a20  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! 92442c85e6bea648cdeb4e36d91ac5dc  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
*************** f3edeff30f2d71e01f705dbeeea40b77  gcc/ad
*** 846,852 ****
  1e2940d1ddb2a1e198a7dcd59b66ebfc  gcc/ada/gcc-interface/gigi.h
  89108e218f6b9e9f07550c3675c059a7  gcc/ada/gcc-interface/lang-specs.h
  43e609e56eeb0ff4e57be465cd17ddbc  gcc/ada/gcc-interface/lang.opt
! ff29a10285881817c71f15a28a61496e  gcc/ada/gcc-interface/lang.opt.urls
  8ef0bb2ae7258a2fb47816777dbbc079  gcc/ada/gcc-interface/misc.cc
  ec10f477ad1d3dba6056061ede6ff919  gcc/ada/gcc-interface/system.ads
  90cfb783f79abe4897a54ecd4d34f0a5  gcc/ada/gcc-interface/targtyps.cc
--- 847,853 ----
  1e2940d1ddb2a1e198a7dcd59b66ebfc  gcc/ada/gcc-interface/gigi.h
  89108e218f6b9e9f07550c3675c059a7  gcc/ada/gcc-interface/lang-specs.h
  43e609e56eeb0ff4e57be465cd17ddbc  gcc/ada/gcc-interface/lang.opt
! 80df0e0f476f009e7272bd43b4df6f20  gcc/ada/gcc-interface/lang.opt.urls
  8ef0bb2ae7258a2fb47816777dbbc079  gcc/ada/gcc-interface/misc.cc
  ec10f477ad1d3dba6056061ede6ff919  gcc/ada/gcc-interface/system.ads
  90cfb783f79abe4897a54ecd4d34f0a5  gcc/ada/gcc-interface/targtyps.cc
*************** e3dc2d270994bba222e70ec02479ac37  gcc/ad
*** 2910,2916 ****
  7efb6a0f371113d8b55b421ee56dd1dd  gcc/ada/sem_ch11.ads
  d42a4473c13b65b1a1f63bb19737f187  gcc/ada/sem_ch12.adb
  73d6c178cc4bd5c34fb9233d9561e4bf  gcc/ada/sem_ch12.ads
! d003b4ca23eb215c8a7a31666fceeab1  gcc/ada/sem_ch13.adb
  2da037307178ba05a1a24b52d1b3115e  gcc/ada/sem_ch13.ads
  260948dd8c7af25b5acaa288032c9327  gcc/ada/sem_ch2.adb
  ea86a0345845800d7aaf07f22bb4bf6c  gcc/ada/sem_ch2.ads
--- 2911,2917 ----
  7efb6a0f371113d8b55b421ee56dd1dd  gcc/ada/sem_ch11.ads
  d42a4473c13b65b1a1f63bb19737f187  gcc/ada/sem_ch12.adb
  73d6c178cc4bd5c34fb9233d9561e4bf  gcc/ada/sem_ch12.ads
! 6dee89b36475b0d63373d9c2c51febce  gcc/ada/sem_ch13.adb
  2da037307178ba05a1a24b52d1b3115e  gcc/ada/sem_ch13.ads
  260948dd8c7af25b5acaa288032c9327  gcc/ada/sem_ch2.adb
  ea86a0345845800d7aaf07f22bb4bf6c  gcc/ada/sem_ch2.ads
*************** bde96e6a1464ed682c5655d726cdd21a  gcc/ad
*** 2954,2960 ****
  21afb93e10bb9446fcbf7577bbf39c7f  gcc/ada/sem_smem.ads
  cda32b91a0e825a5f5c65df8d6ba7003  gcc/ada/sem_type.adb
  65653b347d1d3f800e49cd916a551d1c  gcc/ada/sem_type.ads
! fa71cca886e15a33805fcb2037697e79  gcc/ada/sem_util.adb
  ec5c6d315fe729aab9bd7b8889560f62  gcc/ada/sem_util.ads
  b16d94872ec070685f3ac84b8967f7fe  gcc/ada/sem_warn.adb
  1952fbda97ea4c6506f452eac9934bb4  gcc/ada/sem_warn.ads
--- 2955,2961 ----
  21afb93e10bb9446fcbf7577bbf39c7f  gcc/ada/sem_smem.ads
  cda32b91a0e825a5f5c65df8d6ba7003  gcc/ada/sem_type.adb
  65653b347d1d3f800e49cd916a551d1c  gcc/ada/sem_type.ads
! 16750cf36ad11693048a818ffb8d2b22  gcc/ada/sem_util.adb
  ec5c6d315fe729aab9bd7b8889560f62  gcc/ada/sem_util.ads
  b16d94872ec070685f3ac84b8967f7fe  gcc/ada/sem_warn.adb
  1952fbda97ea4c6506f452eac9934bb4  gcc/ada/sem_warn.ads
*************** d22c314f3748309f812d78f5217dda61  gcc/ad
*** 3060,3098 ****
  06b46bffb1b84e16a6f48b29177f42c4  gcc/ada/xutil.ads
  faeebcb240c1559aceb7d9c18c8e6b89  gcc/addresses.h
  ebe64421041bf4ef9153e26a6dc60532  gcc/adjust-alignment.cc
! d3456bf6ebdc8ab28cfccdf4263475c4  gcc/algol68/ChangeLog
  f60acb6e085140c1368b22851361db0e  gcc/algol68/Make-lang.in
! 7479907efeefafc7c6d3bc2aaa5c6a83  gcc/algol68/README
  fb43be530798e23528ffc144413b80a9  gcc/algol68/a68-diagnostics.cc
  5a0aa2bd361bf3a8eef0d814a0d93611  gcc/algol68/a68-exports.cc
  237db35c9725eb65027ad7adf2f0527e  gcc/algol68/a68-imports.cc
! 2b877e415f61b5e4d7c165c68ed6d1d8  gcc/algol68/a68-lang.cc
  c7f3e4b6ca328ed109839fb6af254e6b  gcc/algol68/a68-low-bits.cc
  284cf6c8827f78791575949cc1f634ef  gcc/algol68/a68-low-bools.cc
  421c70a781dc2c00722aa019bc39f683  gcc/algol68/a68-low-builtins.cc
  ade291f272227055db98bddb78ff715f  gcc/algol68/a68-low-chars.cc
! 32261831ae87655b1ab393a78bdafe78  gcc/algol68/a68-low-clauses.cc
! e475601178306ca722c941848f7b25d7  gcc/algol68/a68-low-coercions.cc
  5aa76e1c20ed5b89f9d01211f6bb6cc6  gcc/algol68/a68-low-complex.cc
  0d1ac14bae05c9d3000a860bfd235a51  gcc/algol68/a68-low-decls.cc
! ef61d04fdb839242c97e53b105268e52  gcc/algol68/a68-low-generator.cc
  49e9c1592266268c752da49a2ef0bbc9  gcc/algol68/a68-low-ints.cc
  949d0f0a5f79da34ba44f79c6ebfe282  gcc/algol68/a68-low-misc.cc
  8e958b50675b076eba75cf460e2332bb  gcc/algol68/a68-low-moids.cc
! 7cff8c4f9adad0de3b4db98dc5e2039f  gcc/algol68/a68-low-multiples.cc
! cdae551e4bb1ef370a5310c4ede3e02a  gcc/algol68/a68-low-posix.cc
  24baed5d34eb4e6bd861957e1a8a4a94  gcc/algol68/a68-low-prelude.cc
  b761d3ea5bc6d29640619297fd8a70b6  gcc/algol68/a68-low-procs.cc
  335ffa6c3b75121835fb8d3c30f87b67  gcc/algol68/a68-low-ranges.cc
  4d895047574428a4a2c4f2452766f8ff  gcc/algol68/a68-low-reals.cc
  aebb4c3b9e607164c25541593333b832  gcc/algol68/a68-low-refs.cc
  5fae0e595c8ad0b7c7ecc0fb87c3b2dc  gcc/algol68/a68-low-runtime.cc
! aece8d72558aeeb375e2caa0a67cfb6f  gcc/algol68/a68-low-runtime.def
! 5ddd68b1b0d94f66521a8565b26b6c3f  gcc/algol68/a68-low-strings.cc
  de4cb485173b396d55860a98e328be5b  gcc/algol68/a68-low-structs.cc
  7675b3dfcea25bedcbe52f98cecdf7e2  gcc/algol68/a68-low-unions.cc
! 12c8ab6b2a388a0e2ceac19f2d27d6cf  gcc/algol68/a68-low-units.cc
! bf2e9b5dd21e1dfe9dc046812e7dd756  gcc/algol68/a68-low.cc
  406bb4b4a8736ed19545acebc61effbd  gcc/algol68/a68-moids-diagnostics.cc
  42fb87b330e8ce57b613abaaca7beeb8  gcc/algol68/a68-moids-misc.cc
  93ab5a30cda3f697bee77eba313c66d6  gcc/algol68/a68-moids-to-string.cc
--- 3061,3099 ----
  06b46bffb1b84e16a6f48b29177f42c4  gcc/ada/xutil.ads
  faeebcb240c1559aceb7d9c18c8e6b89  gcc/addresses.h
  ebe64421041bf4ef9153e26a6dc60532  gcc/adjust-alignment.cc
! fd1a7b6f9524bc4203cd10f8ec2b460a  gcc/algol68/ChangeLog
  f60acb6e085140c1368b22851361db0e  gcc/algol68/Make-lang.in
! 3d3f2f95b917d0f77d57d977f3eb93d8  gcc/algol68/README
  fb43be530798e23528ffc144413b80a9  gcc/algol68/a68-diagnostics.cc
  5a0aa2bd361bf3a8eef0d814a0d93611  gcc/algol68/a68-exports.cc
  237db35c9725eb65027ad7adf2f0527e  gcc/algol68/a68-imports.cc
! 0904dc65c8116eaecb8d99576391c5dc  gcc/algol68/a68-lang.cc
  c7f3e4b6ca328ed109839fb6af254e6b  gcc/algol68/a68-low-bits.cc
  284cf6c8827f78791575949cc1f634ef  gcc/algol68/a68-low-bools.cc
  421c70a781dc2c00722aa019bc39f683  gcc/algol68/a68-low-builtins.cc
  ade291f272227055db98bddb78ff715f  gcc/algol68/a68-low-chars.cc
! 80f345dde4758df75fe0365d54312b72  gcc/algol68/a68-low-clauses.cc
! b8582dd8bfb1b150fad9cafd7bbaa3c6  gcc/algol68/a68-low-coercions.cc
  5aa76e1c20ed5b89f9d01211f6bb6cc6  gcc/algol68/a68-low-complex.cc
  0d1ac14bae05c9d3000a860bfd235a51  gcc/algol68/a68-low-decls.cc
! c57bfad420a3fc9e3f36e22e0b61c523  gcc/algol68/a68-low-generator.cc
  49e9c1592266268c752da49a2ef0bbc9  gcc/algol68/a68-low-ints.cc
  949d0f0a5f79da34ba44f79c6ebfe282  gcc/algol68/a68-low-misc.cc
  8e958b50675b076eba75cf460e2332bb  gcc/algol68/a68-low-moids.cc
! 1234b64ced731d809a0b56edb4104ead  gcc/algol68/a68-low-multiples.cc
! 27c76eb63da6836b08745b3bd22e8c64  gcc/algol68/a68-low-posix.cc
  24baed5d34eb4e6bd861957e1a8a4a94  gcc/algol68/a68-low-prelude.cc
  b761d3ea5bc6d29640619297fd8a70b6  gcc/algol68/a68-low-procs.cc
  335ffa6c3b75121835fb8d3c30f87b67  gcc/algol68/a68-low-ranges.cc
  4d895047574428a4a2c4f2452766f8ff  gcc/algol68/a68-low-reals.cc
  aebb4c3b9e607164c25541593333b832  gcc/algol68/a68-low-refs.cc
  5fae0e595c8ad0b7c7ecc0fb87c3b2dc  gcc/algol68/a68-low-runtime.cc
! 9f65dee30fd5a06799dfa46d234a296f  gcc/algol68/a68-low-runtime.def
! a3640e0464c9f225e1f6e23c6e1b7a25  gcc/algol68/a68-low-strings.cc
  de4cb485173b396d55860a98e328be5b  gcc/algol68/a68-low-structs.cc
  7675b3dfcea25bedcbe52f98cecdf7e2  gcc/algol68/a68-low-unions.cc
! 27b9df3dd30fc83653f96545db4f63b3  gcc/algol68/a68-low-units.cc
! 272887da216391b972c669d1c883d541  gcc/algol68/a68-low.cc
  406bb4b4a8736ed19545acebc61effbd  gcc/algol68/a68-moids-diagnostics.cc
  42fb87b330e8ce57b613abaaca7beeb8  gcc/algol68/a68-moids-misc.cc
  93ab5a30cda3f697bee77eba313c66d6  gcc/algol68/a68-moids-to-string.cc
*************** c3c90ed30df176e0dc435306dae0d9c4  gcc/al
*** 3102,3141 ****
  06167f432b9437d0cc135868d1067782  gcc/algol68/a68-parser-debug.cc
  3816551ecc87b5ba8df5fc1d87c0c7b1  gcc/algol68/a68-parser-extract.cc
  5aa1c44cc0b96934ca5906eb2e0e500e  gcc/algol68/a68-parser-keywords.cc
! 6baa8156d0ef99a4587af1b6793d2303  gcc/algol68/a68-parser-modes.cc
  451910827918a165063a77e10deebc2a  gcc/algol68/a68-parser-moids-check.cc
  eb200628692c30c1ade0eaeabcddf008  gcc/algol68/a68-parser-moids-coerce.cc
  3789b4b4b2b84341d4e2c050f5f10acf  gcc/algol68/a68-parser-moids-equivalence.cc
  6f1acfebba6072c81c25a2597686d0e4  gcc/algol68/a68-parser-pragmat.cc
! ed6e5b2ef21d30868bed30fc4c3286df  gcc/algol68/a68-parser-prelude.cc
  aea7baccdaeef6bc91479adae70dd2a3  gcc/algol68/a68-parser-scanner.cc
  612e0ec636b03716ad03bda261dffe29  gcc/algol68/a68-parser-scope.cc
  d259fcdbab02c9c536b330f7111ae7cf  gcc/algol68/a68-parser-serial-dsa.cc
  a9ddec5672076028211732bc7255ace7  gcc/algol68/a68-parser-taxes.cc
  fc36c82bc446f517d1380e1795c8936d  gcc/algol68/a68-parser-top-down.cc
  c54eef49e5d275f325d29b6c54fb4644  gcc/algol68/a68-parser-victal.cc
! 1912e2739ae023428ee5340dfc690104  gcc/algol68/a68-parser.cc
  bb6a9492686645cd8ede63a3aa41bb2e  gcc/algol68/a68-postulates.cc
  614ee2f3c97cf1910484b4ba1b697352  gcc/algol68/a68-tree.def
! 103e13da594f7f65650996ed80df4178  gcc/algol68/a68-types.h
  384e3fcca47f6f61b529f8d95656824a  gcc/algol68/a68-unistr.c
! 2aa6a9aa482a9480003b283ca10c1e55  gcc/algol68/a68.h
  cbc2ddca0589edc81c7df109b1a1927b  gcc/algol68/a68spec.cc
  ca4abac71b91773df74abdea22798551  gcc/algol68/config-lang.in
  9f347ad15eafa59e8edd49f1e41fd950  gcc/algol68/ga68-coding-guidelines.texi
  3944dc558e8139d69cdc73ffdbe90cc7  gcc/algol68/ga68-exports.pk
  f150e2c760036b980e94ec7bb14e1172  gcc/algol68/ga68-internals.texi
! 134461dbe268cea8ffb628b21566d048  gcc/algol68/ga68.texi
  4810fa1d976ad329fa7a115292ce8fe8  gcc/algol68/ga68.vw
  0a91d85c360d5ee3eb6258aecdab4636  gcc/algol68/lang-specs.h
! 23116c655524d162c1277db4c2d6e91f  gcc/algol68/lang.opt
  411f26970a0d93b07c697a1bcfeda50c  gcc/algol68/lang.opt.urls
  1f802727a4e770bf3f2c903eba8de64b  gcc/alias.cc
  b7dd8bd2dd68f81643704bf0b73553a1  gcc/alias.h
  71901705cb0e11732bae53ff9de25faf  gcc/align.h
  f2345b2fdc9d2d5a75fe90d30444a114  gcc/alloc-pool.cc
  7657598f465321837951c858ab918f57  gcc/alloc-pool.h
! 2412f2c9f6f450dd1e55d9d269912ea9  gcc/analyzer/ChangeLog
  a53ebffbaabe6bc3664d659c554fedb3  gcc/analyzer/access-diagram.cc
  c41fa6be7ca91f40a15a7b8f03732d25  gcc/analyzer/access-diagram.h
  d97e417faf9694fdbd68f91aee129bd2  gcc/analyzer/ana-state-to-diagnostic-state.cc
--- 3103,3142 ----
  06167f432b9437d0cc135868d1067782  gcc/algol68/a68-parser-debug.cc
  3816551ecc87b5ba8df5fc1d87c0c7b1  gcc/algol68/a68-parser-extract.cc
  5aa1c44cc0b96934ca5906eb2e0e500e  gcc/algol68/a68-parser-keywords.cc
! 233e85e1d109735e63bc9c3367f89a54  gcc/algol68/a68-parser-modes.cc
  451910827918a165063a77e10deebc2a  gcc/algol68/a68-parser-moids-check.cc
  eb200628692c30c1ade0eaeabcddf008  gcc/algol68/a68-parser-moids-coerce.cc
  3789b4b4b2b84341d4e2c050f5f10acf  gcc/algol68/a68-parser-moids-equivalence.cc
  6f1acfebba6072c81c25a2597686d0e4  gcc/algol68/a68-parser-pragmat.cc
! d4efd9d376769274d84b32631d2de56b  gcc/algol68/a68-parser-prelude.cc
  aea7baccdaeef6bc91479adae70dd2a3  gcc/algol68/a68-parser-scanner.cc
  612e0ec636b03716ad03bda261dffe29  gcc/algol68/a68-parser-scope.cc
  d259fcdbab02c9c536b330f7111ae7cf  gcc/algol68/a68-parser-serial-dsa.cc
  a9ddec5672076028211732bc7255ace7  gcc/algol68/a68-parser-taxes.cc
  fc36c82bc446f517d1380e1795c8936d  gcc/algol68/a68-parser-top-down.cc
  c54eef49e5d275f325d29b6c54fb4644  gcc/algol68/a68-parser-victal.cc
! 6b2c8ed061c6f0d612717d93d226fa96  gcc/algol68/a68-parser.cc
  bb6a9492686645cd8ede63a3aa41bb2e  gcc/algol68/a68-postulates.cc
  614ee2f3c97cf1910484b4ba1b697352  gcc/algol68/a68-tree.def
! fad4cc97edd0db85ad312f03ccd4fc64  gcc/algol68/a68-types.h
  384e3fcca47f6f61b529f8d95656824a  gcc/algol68/a68-unistr.c
! 923dc46b2b03c95c003f7bdc42e0e606  gcc/algol68/a68.h
  cbc2ddca0589edc81c7df109b1a1927b  gcc/algol68/a68spec.cc
  ca4abac71b91773df74abdea22798551  gcc/algol68/config-lang.in
  9f347ad15eafa59e8edd49f1e41fd950  gcc/algol68/ga68-coding-guidelines.texi
  3944dc558e8139d69cdc73ffdbe90cc7  gcc/algol68/ga68-exports.pk
  f150e2c760036b980e94ec7bb14e1172  gcc/algol68/ga68-internals.texi
! 92277ea694ba7685ee1866b88682ad05  gcc/algol68/ga68.texi
  4810fa1d976ad329fa7a115292ce8fe8  gcc/algol68/ga68.vw
  0a91d85c360d5ee3eb6258aecdab4636  gcc/algol68/lang-specs.h
! 4dee1792b7542097a5ee3314742a16b4  gcc/algol68/lang.opt
  411f26970a0d93b07c697a1bcfeda50c  gcc/algol68/lang.opt.urls
  1f802727a4e770bf3f2c903eba8de64b  gcc/alias.cc
  b7dd8bd2dd68f81643704bf0b73553a1  gcc/alias.h
  71901705cb0e11732bae53ff9de25faf  gcc/align.h
  f2345b2fdc9d2d5a75fe90d30444a114  gcc/alloc-pool.cc
  7657598f465321837951c858ab918f57  gcc/alloc-pool.h
! e51bdf29d796de9a77150b57f432bb92  gcc/analyzer/ChangeLog
  a53ebffbaabe6bc3664d659c554fedb3  gcc/analyzer/access-diagram.cc
  c41fa6be7ca91f40a15a7b8f03732d25  gcc/analyzer/access-diagram.h
  d97e417faf9694fdbd68f91aee129bd2  gcc/analyzer/ana-state-to-diagnostic-state.cc
*************** c7b4f9658272bf5b5bf82cb7658a06e1  gcc/an
*** 3163,3170 ****
  0bd7e3472ca83c56ebabbbf99d6cf111  gcc/analyzer/call-string.h
  498b92c06e997fb220e232350ec7ff41  gcc/analyzer/call-summary.cc
  bc77cd1e5aec40e5623c49cb8974b3d4  gcc/analyzer/call-summary.h
! 3078f79752dbf9caf4036e6a9e0cc5e6  gcc/analyzer/checker-event.cc
! b23477579ae55f0463631e6cc21e4112  gcc/analyzer/checker-event.h
  27f8555a4210038eaa81c4f1f66b0d6b  gcc/analyzer/checker-path.cc
  869cacfa0b942d7ed33ff8b774738bb3  gcc/analyzer/checker-path.h
  4b21663a49a3b9fce26ddbc4c6548d47  gcc/analyzer/common.h
--- 3164,3171 ----
  0bd7e3472ca83c56ebabbbf99d6cf111  gcc/analyzer/call-string.h
  498b92c06e997fb220e232350ec7ff41  gcc/analyzer/call-summary.cc
  bc77cd1e5aec40e5623c49cb8974b3d4  gcc/analyzer/call-summary.h
! 3784976be91c6565bf29bf46a649458c  gcc/analyzer/checker-event.cc
! 4bdbe0c472a1b7a39557a9d0073f045b  gcc/analyzer/checker-event.h
  27f8555a4210038eaa81c4f1f66b0d6b  gcc/analyzer/checker-path.cc
  869cacfa0b942d7ed33ff8b774738bb3  gcc/analyzer/checker-path.h
  4b21663a49a3b9fce26ddbc4c6548d47  gcc/analyzer/common.h
*************** b23477579ae55f0463631e6cc21e4112  gcc/an
*** 3172,3178 ****
  f945a407a1ad45be621e572190f6e11f  gcc/analyzer/complexity.h
  f2a1d7a4677cd4523c0638208513d259  gcc/analyzer/constraint-manager.cc
  7d0cf2441abcd960f97e29dd071829e5  gcc/analyzer/constraint-manager.h
! 3c8e0418577bb1e5cf6542a8bcbeba45  gcc/analyzer/diagnostic-manager.cc
  ca695b2d13762f05a1ab6018eba991c7  gcc/analyzer/diagnostic-manager.h
  eeeb02789ddcd92c89f61e0c4ed88033  gcc/analyzer/engine.cc
  42e3e00aa33d20f2e141615939577290  gcc/analyzer/engine.h
--- 3173,3179 ----
  f945a407a1ad45be621e572190f6e11f  gcc/analyzer/complexity.h
  f2a1d7a4677cd4523c0638208513d259  gcc/analyzer/constraint-manager.cc
  7d0cf2441abcd960f97e29dd071829e5  gcc/analyzer/constraint-manager.h
! 2728e4b1b06abaf098bfdc996d29a5af  gcc/analyzer/diagnostic-manager.cc
  ca695b2d13762f05a1ab6018eba991c7  gcc/analyzer/diagnostic-manager.h
  eeeb02789ddcd92c89f61e0c4ed88033  gcc/analyzer/engine.cc
  42e3e00aa33d20f2e141615939577290  gcc/analyzer/engine.h
*************** f0dcebb9979e1da7d7bd6fb4ad06a54e  gcc/an
*** 3227,3234 ****
  b667de4f07c660c4cd4e91834ea39073  gcc/analyzer/sm.h
  3624f55d83e9b0bc535b28c37079b437  gcc/analyzer/state-purge.cc
  8a3af8bab2c3a2bb873540dfd49ae5c5  gcc/analyzer/state-purge.h
! a8d6b4d8364f6bbf134baf90f710602c  gcc/analyzer/store.cc
! 0f38935467be8fc612e0a9d28483421d  gcc/analyzer/store.h
  33d9be73a4d262226af82d56d077167b  gcc/analyzer/supergraph-fixup-locations.cc
  2b1f8d482dc79d6594c1772d53f983a3  gcc/analyzer/supergraph-manipulation.h
  466a7599dd2372bf97c1a40ec8d04feb  gcc/analyzer/supergraph-simplify.cc
--- 3228,3235 ----
  b667de4f07c660c4cd4e91834ea39073  gcc/analyzer/sm.h
  3624f55d83e9b0bc535b28c37079b437  gcc/analyzer/state-purge.cc
  8a3af8bab2c3a2bb873540dfd49ae5c5  gcc/analyzer/state-purge.h
! a3d75d93f67787f397fd5fdc8098986d  gcc/analyzer/store.cc
! 4ae0a463d0982d67a2bb074f46406b3a  gcc/analyzer/store.h
  33d9be73a4d262226af82d56d077167b  gcc/analyzer/supergraph-fixup-locations.cc
  2b1f8d482dc79d6594c1772d53f983a3  gcc/analyzer/supergraph-manipulation.h
  466a7599dd2372bf97c1a40ec8d04feb  gcc/analyzer/supergraph-simplify.cc
*************** ebb1ceb69d6cf8ac2cdc227ae45f0eca  gcc/bi
*** 3269,3278 ****
  392eecf8142b4edd3c482f461232166f  gcc/btfout.cc
  6da486aac72d8ac53fc6618dea4dcf2e  gcc/builtin-attrs.def
  4d187b33643d8554f50ad793471e43a2  gcc/builtin-types.def
! 01cf1a4cec8cf9b7fbe2345f7a4993f3  gcc/builtins.cc
  4dbe6686097ec6c197a24ac373bb9554  gcc/builtins.def
  99d9ddd60ff804d8e24732db43d38bca  gcc/builtins.h
! 5a7b6b4bc39b0d1c9d95fd8c315c5e56  gcc/c-family/ChangeLog
  ea3fa1f4d7390a105fa3caab4f79aaf7  gcc/c-family/ChangeLog.gimple-classes
  aaea141fd41a559841cb76e33800c289  gcc/c-family/c-ada-spec.cc
  f60a13b470e8e51db83383bf9f9f921e  gcc/c-family/c-ada-spec.h
--- 3270,3279 ----
  392eecf8142b4edd3c482f461232166f  gcc/btfout.cc
  6da486aac72d8ac53fc6618dea4dcf2e  gcc/builtin-attrs.def
  4d187b33643d8554f50ad793471e43a2  gcc/builtin-types.def
! 5063344c8646701a891f026a67570182  gcc/builtins.cc
  4dbe6686097ec6c197a24ac373bb9554  gcc/builtins.def
  99d9ddd60ff804d8e24732db43d38bca  gcc/builtins.h
! 5c8f922641f331431b18a9f1cd8e2208  gcc/c-family/ChangeLog
  ea3fa1f4d7390a105fa3caab4f79aaf7  gcc/c-family/ChangeLog.gimple-classes
  aaea141fd41a559841cb76e33800c289  gcc/c-family/c-ada-spec.cc
  f60a13b470e8e51db83383bf9f9f921e  gcc/c-family/c-ada-spec.h
*************** f60a13b470e8e51db83383bf9f9f921e  gcc/c-
*** 3285,3291 ****
  6ae3bdb693669aee234a91cd79302dcf  gcc/c-family/c-format.cc
  1adde7951b864b565a2b79c5461d43fa  gcc/c-family/c-format.h
  e071c7cca1bf3b1ffda096526fe57a00  gcc/c-family/c-gimplify.cc
! 135d87d346992a8a16ad134021e0d90b  gcc/c-family/c-indentation.cc
  382fde18b48d137c66c91e21de978037  gcc/c-family/c-indentation.h
  3405d550814bf29313d29a91146a37bb  gcc/c-family/c-lex.cc
  eb6a10cfada98679dc204a82e929e9e3  gcc/c-family/c-objc.h
--- 3286,3292 ----
  6ae3bdb693669aee234a91cd79302dcf  gcc/c-family/c-format.cc
  1adde7951b864b565a2b79c5461d43fa  gcc/c-family/c-format.h
  e071c7cca1bf3b1ffda096526fe57a00  gcc/c-family/c-gimplify.cc
! 50e638257386d3df7bdf25108fdeb5d1  gcc/c-family/c-indentation.cc
  382fde18b48d137c66c91e21de978037  gcc/c-family/c-indentation.h
  3405d550814bf29313d29a91146a37bb  gcc/c-family/c-lex.cc
  eb6a10cfada98679dc204a82e929e9e3  gcc/c-family/c-objc.h
*************** ea821c9d267c64dd8b74aad9d0189834  gcc/c-
*** 3308,3315 ****
  01c192d46b70ed6bbb440272922e8aad  gcc/c-family/c-ubsan.cc
  298f1278576690ff4398c33310700f52  gcc/c-family/c-ubsan.h
  29b7425b7315dcfbd0c9f89296e90df0  gcc/c-family/c-warn.cc
! 923e28be72edf53f40e2219adf762998  gcc/c-family/c.opt
! bbd7c2ca628c9e8a51b01ac834384d4a  gcc/c-family/c.opt.urls
  6453e733397a8ab931434f4f73ee7d7b  gcc/c-family/cppspec.cc
  a6870df006b63aff6866778bb7b5ccaf  gcc/c-family/known-headers.cc
  5e25e31b36b0b7bce3036f8db904b31d  gcc/c-family/known-headers.h
--- 3309,3316 ----
  01c192d46b70ed6bbb440272922e8aad  gcc/c-family/c-ubsan.cc
  298f1278576690ff4398c33310700f52  gcc/c-family/c-ubsan.h
  29b7425b7315dcfbd0c9f89296e90df0  gcc/c-family/c-warn.cc
! 2afaeb8df63598c454549912cc4f6777  gcc/c-family/c.opt
! c6f2ebf0bd576913d48ff99f6771d40e  gcc/c-family/c.opt.urls
  6453e733397a8ab931434f4f73ee7d7b  gcc/c-family/cppspec.cc
  a6870df006b63aff6866778bb7b5ccaf  gcc/c-family/known-headers.cc
  5e25e31b36b0b7bce3036f8db904b31d  gcc/c-family/known-headers.h
*************** de90956fd0fa66b3093b818874bbb4f4  gcc/cg
*** 3367,3373 ****
  47d3701e9292c4ac632243a124a843ed  gcc/cgraphunit.cc
  2a45e3be9216480f88930217fee8fc7b  gcc/channels.h
  931fe41c17df7e7a6074418f8e41f010  gcc/cif-code.def
! 2ec02a3b58ccde87f5d6fcfcf3e7bec7  gcc/cobol/ChangeLog
  56c564c4cfd3395214baa46684218f3d  gcc/cobol/Make-lang.in
  0a84e784d2bc4066654d2377fc6a2930  gcc/cobol/TODO
  27054fd6ae13f617da51f4df0026904e  gcc/cobol/cbldiag.h
--- 3368,3374 ----
  47d3701e9292c4ac632243a124a843ed  gcc/cgraphunit.cc
  2a45e3be9216480f88930217fee8fc7b  gcc/channels.h
  931fe41c17df7e7a6074418f8e41f010  gcc/cif-code.def
! d9f0e7f086dd9588d436bea2c6b30225  gcc/cobol/ChangeLog
  56c564c4cfd3395214baa46684218f3d  gcc/cobol/Make-lang.in
  0a84e784d2bc4066654d2377fc6a2930  gcc/cobol/TODO
  27054fd6ae13f617da51f4df0026904e  gcc/cobol/cbldiag.h
*************** c716e3cd5b0166ad4a18c1eca6ab3210  gcc/co
*** 3397,3403 ****
  7b9c1ead6f9d3661133f7f732811719c  gcc/cobol/help.gen
  0fa33dbe050697f40b5e8df91896da9a  gcc/cobol/inspect.h
  9cc40563a4476537055f06deeb3799a4  gcc/cobol/lang-specs.h
! c6614b1981d39f0ff3b160d116de9cc0  gcc/cobol/lang.opt
  2924af2e9df185e08e5e225631897dc5  gcc/cobol/lang.opt.urls
  f25056b154c14dde0fb10a159520eb1b  gcc/cobol/lexio.cc
  5953c820cdc03feb815bfbf28c10730c  gcc/cobol/lexio.h
--- 3398,3404 ----
  7b9c1ead6f9d3661133f7f732811719c  gcc/cobol/help.gen
  0fa33dbe050697f40b5e8df91896da9a  gcc/cobol/inspect.h
  9cc40563a4476537055f06deeb3799a4  gcc/cobol/lang-specs.h
! 78d52a99c23b816808264665df785271  gcc/cobol/lang.opt
  2924af2e9df185e08e5e225631897dc5  gcc/cobol/lang.opt.urls
  f25056b154c14dde0fb10a159520eb1b  gcc/cobol/lexio.cc
  5953c820cdc03feb815bfbf28c10730c  gcc/cobol/lexio.h
*************** a56f67bf9504f1f91df64d23b9ce6f3b  gcc/co
*** 3426,3435 ****
  d48c86bc52a7b8ee38281d6069d3eb6a  gcc/collect2.h
  9b54c6ade2ed5ee11859b498e663936e  gcc/color-macros.h
  903401554d90de06743fb9a836e6a45b  gcc/combine-stack-adj.cc
! 1eaa0b8ac46c5909996bbdf92a027da6  gcc/combine.cc
  9f2835a8fa18cfce2249127014eb7edd  gcc/common.md
! ae73fd34ceb3593aed87399d2e92ba9f  gcc/common.opt
! 40215d7288fffc3b0c3524fd9bb23dbd  gcc/common.opt.urls
  d3b28fb0d49a8d683dde6011400fd7e7  gcc/common/common-target-def.h
  93cf11d6a27d42f73799ae012d2f876e  gcc/common/common-target.def
  d8f7142c05c4102806a8b26817df17a6  gcc/common/common-target.h
--- 3427,3436 ----
  d48c86bc52a7b8ee38281d6069d3eb6a  gcc/collect2.h
  9b54c6ade2ed5ee11859b498e663936e  gcc/color-macros.h
  903401554d90de06743fb9a836e6a45b  gcc/combine-stack-adj.cc
! 3e1637e8961c0810ea91ca702bb69aa1  gcc/combine.cc
  9f2835a8fa18cfce2249127014eb7edd  gcc/common.md
! e155e1b1cc0bce65fa81b205e554d488  gcc/common.opt
! b555a79a0cb9f4062f9c73e695b6f2cb  gcc/common.opt.urls
  d3b28fb0d49a8d683dde6011400fd7e7  gcc/common/common-target-def.h
  93cf11d6a27d42f73799ae012d2f876e  gcc/common/common-target.def
  d8f7142c05c4102806a8b26817df17a6  gcc/common/common-target.h
*************** d3b8ce30c6110489fd0b57d6792f3f29  gcc/co
*** 3490,3496 ****
  084002dad8536fd331b1095b203b12d6  gcc/compare-elim.cc
  6137f3da8f70ec4262acab21bb549148  gcc/conditions.h
  4250c8b8d57bf1315174cf436a74a88b  gcc/config.build
! e79f179731e459618f26ffec15fea288  gcc/config.gcc
  d8b0b26795a60b3a991dfbdafe4cd756  gcc/config.host
  0f37365a87254fc2d1b3e0b970cc2a8e  gcc/config.in
  8e697813dc96ca90f5d0f4c196efe2cc  gcc/config/README
--- 3491,3497 ----
  084002dad8536fd331b1095b203b12d6  gcc/compare-elim.cc
  6137f3da8f70ec4262acab21bb549148  gcc/conditions.h
  4250c8b8d57bf1315174cf436a74a88b  gcc/config.build
! 44f53d3c495e1ff96862a4713260280b  gcc/config.gcc
  d8b0b26795a60b3a991dfbdafe4cd756  gcc/config.host
  0f37365a87254fc2d1b3e0b970cc2a8e  gcc/config.in
  8e697813dc96ca90f5d0f4c196efe2cc  gcc/config/README
*************** b824341b8f6fdb8eb1667425adf63db8  gcc/co
*** 3541,3574 ****
  da15606bcbef7961db958c042bf81c05  gcc/config/aarch64/aarch64-simd-builtin-types.def
  9a92557ac11986ea17d11d6ca82c01e6  gcc/config/aarch64/aarch64-simd-builtins.def
  8bf4dd498a2811516e5786f5dfa2bac1  gcc/config/aarch64/aarch64-simd-pragma-builtins.def
! 2851130dd526fc94e82e45471b52caa6  gcc/config/aarch64/aarch64-simd.md
! 58e8a552660da7a83191b677bdb2d085  gcc/config/aarch64/aarch64-sme.md
  680d9861c361f5e0db24978600b2a134  gcc/config/aarch64/aarch64-speculation.cc
  1553cfc68bdd19cb61a2755767842c1c  gcc/config/aarch64/aarch64-sve-builtins-base.cc
! 47473ccabf94b113f5f0f7ac17515bb9  gcc/config/aarch64/aarch64-sve-builtins-base.def
  296e628c73cdebb4c5a0c2335cae4084  gcc/config/aarch64/aarch64-sve-builtins-base.h
  df14a744242cdd5396d7f9e578f7838e  gcc/config/aarch64/aarch64-sve-builtins-functions.h
  ca5f6a89d79c08d79fe5ff052e836a69  gcc/config/aarch64/aarch64-sve-builtins-shapes.cc
  97c5fdc23b65bcb2ba85ccd1ce66af2e  gcc/config/aarch64/aarch64-sve-builtins-shapes.h
  37015c038f8cceef0df52b2e378636d3  gcc/config/aarch64/aarch64-sve-builtins-sme.cc
! f60f559e16317ace3075d5c23701efa7  gcc/config/aarch64/aarch64-sve-builtins-sme.def
  85e1ee139787d52dcd3b9e3d8240453e  gcc/config/aarch64/aarch64-sve-builtins-sme.h
  e3b84b8c70b76f20a6d8123da2876317  gcc/config/aarch64/aarch64-sve-builtins-sve2.cc
! e283b5c1347d2becaeae860065de842b  gcc/config/aarch64/aarch64-sve-builtins-sve2.def
  2cdc75f9c6df91167d77d8f46b2b4c5a  gcc/config/aarch64/aarch64-sve-builtins-sve2.h
  49330d59221903e05f3ad03c9f6a6a7b  gcc/config/aarch64/aarch64-sve-builtins.cc
! 54cd200e7b5e4011a92368f8295c9f6e  gcc/config/aarch64/aarch64-sve-builtins.def
  88f4473ff255da227dee1dbc66c11a5f  gcc/config/aarch64/aarch64-sve-builtins.h
! d6f209ee035b95de0cce16ada74728c0  gcc/config/aarch64/aarch64-sve.md
! 94a9e386bef1df97ca60737b81b7ca8e  gcc/config/aarch64/aarch64-sve2.md
  229d0046517455cf526c12527127f3b8  gcc/config/aarch64/aarch64-sys-regs.def
  33a2011b9d1511f6f2a48135ef9c91dc  gcc/config/aarch64/aarch64-tune.md
  dec4c8fd03ac5636ba08d9523bee06be  gcc/config/aarch64/aarch64-tuning-enums.def
  fb86888a7b4a251db9c62262e379d564  gcc/config/aarch64/aarch64-tuning-flags.def
  b2ed7b4c85a1fa71b919148f60e2984f  gcc/config/aarch64/aarch64-vxworks.h
! a4d987e3bcd77940c0bdef3ff56d85d1  gcc/config/aarch64/aarch64.cc
  1e616694750b4b74f9712a90feb26349  gcc/config/aarch64/aarch64.h
! 16af5735a7e9ee1f0036cf68fc9b5502  gcc/config/aarch64/aarch64.md
  c5cf87f72305a6ea92d9fd65a668c5f0  gcc/config/aarch64/aarch64.opt
  f8862c1a17df0d9164d1f07fc8288527  gcc/config/aarch64/aarch64.opt.urls
  82e9259865afd63b716cc9b316e7f2e9  gcc/config/aarch64/arm_acle.h
--- 3542,3575 ----
  da15606bcbef7961db958c042bf81c05  gcc/config/aarch64/aarch64-simd-builtin-types.def
  9a92557ac11986ea17d11d6ca82c01e6  gcc/config/aarch64/aarch64-simd-builtins.def
  8bf4dd498a2811516e5786f5dfa2bac1  gcc/config/aarch64/aarch64-simd-pragma-builtins.def
! 71901785550838e15612d25168186e8d  gcc/config/aarch64/aarch64-simd.md
! 435ec14d0c7365192bbd08eecbc2b91b  gcc/config/aarch64/aarch64-sme.md
  680d9861c361f5e0db24978600b2a134  gcc/config/aarch64/aarch64-speculation.cc
  1553cfc68bdd19cb61a2755767842c1c  gcc/config/aarch64/aarch64-sve-builtins-base.cc
! cc3e36cd6335911c4199669958386c9e  gcc/config/aarch64/aarch64-sve-builtins-base.def
  296e628c73cdebb4c5a0c2335cae4084  gcc/config/aarch64/aarch64-sve-builtins-base.h
  df14a744242cdd5396d7f9e578f7838e  gcc/config/aarch64/aarch64-sve-builtins-functions.h
  ca5f6a89d79c08d79fe5ff052e836a69  gcc/config/aarch64/aarch64-sve-builtins-shapes.cc
  97c5fdc23b65bcb2ba85ccd1ce66af2e  gcc/config/aarch64/aarch64-sve-builtins-shapes.h
  37015c038f8cceef0df52b2e378636d3  gcc/config/aarch64/aarch64-sve-builtins-sme.cc
! b7970cc46633371d0ac4e877297d804a  gcc/config/aarch64/aarch64-sve-builtins-sme.def
  85e1ee139787d52dcd3b9e3d8240453e  gcc/config/aarch64/aarch64-sve-builtins-sme.h
  e3b84b8c70b76f20a6d8123da2876317  gcc/config/aarch64/aarch64-sve-builtins-sve2.cc
! 19516809b6c0c9277cfc67da64b67275  gcc/config/aarch64/aarch64-sve-builtins-sve2.def
  2cdc75f9c6df91167d77d8f46b2b4c5a  gcc/config/aarch64/aarch64-sve-builtins-sve2.h
  49330d59221903e05f3ad03c9f6a6a7b  gcc/config/aarch64/aarch64-sve-builtins.cc
! 0aaa296fe7e877e67b85468885fdb8b5  gcc/config/aarch64/aarch64-sve-builtins.def
  88f4473ff255da227dee1dbc66c11a5f  gcc/config/aarch64/aarch64-sve-builtins.h
! 46a43d04c58205391b00f499f50291cf  gcc/config/aarch64/aarch64-sve.md
! db4dcc42c469f00dd02e500c189fa78d  gcc/config/aarch64/aarch64-sve2.md
  229d0046517455cf526c12527127f3b8  gcc/config/aarch64/aarch64-sys-regs.def
  33a2011b9d1511f6f2a48135ef9c91dc  gcc/config/aarch64/aarch64-tune.md
  dec4c8fd03ac5636ba08d9523bee06be  gcc/config/aarch64/aarch64-tuning-enums.def
  fb86888a7b4a251db9c62262e379d564  gcc/config/aarch64/aarch64-tuning-flags.def
  b2ed7b4c85a1fa71b919148f60e2984f  gcc/config/aarch64/aarch64-vxworks.h
! c89ca1cfc0f4e326f65df203917b44e2  gcc/config/aarch64/aarch64.cc
  1e616694750b4b74f9712a90feb26349  gcc/config/aarch64/aarch64.h
! 877d4216a9b555eb0133ec125080e7f8  gcc/config/aarch64/aarch64.md
  c5cf87f72305a6ea92d9fd65a668c5f0  gcc/config/aarch64/aarch64.opt
  f8862c1a17df0d9164d1f07fc8288527  gcc/config/aarch64/aarch64.opt.urls
  82e9259865afd63b716cc9b316e7f2e9  gcc/config/aarch64/arm_acle.h
*************** a6ff46e3866e23066e20ed1bf160f0ea  gcc/co
*** 3651,3657 ****
  d9ed1faf0e8c75d119c4c2bd11d0f7a8  gcc/config/alpha/alpha.h
  785f504d1be6413dec066cb278f0c8ec  gcc/config/alpha/alpha.md
  9d7aba6e4e2821c0d801e5c6cba73763  gcc/config/alpha/alpha.opt
! 1715dcb6ef8f2fbcfa4f42bbd579ff7e  gcc/config/alpha/alpha.opt.urls
  a5b914202bf4c167a93dd74f67c791b7  gcc/config/alpha/constraints.md
  cc4294801cf299374bae02319a552dbc  gcc/config/alpha/driver-alpha.cc
  1c3d89aee382bcf7819fc4d1170c2bb6  gcc/config/alpha/elf.h
--- 3652,3658 ----
  d9ed1faf0e8c75d119c4c2bd11d0f7a8  gcc/config/alpha/alpha.h
  785f504d1be6413dec066cb278f0c8ec  gcc/config/alpha/alpha.md
  9d7aba6e4e2821c0d801e5c6cba73763  gcc/config/alpha/alpha.opt
! 16f67dabdc3240d89a6b1f0993fcc29a  gcc/config/alpha/alpha.opt.urls
  a5b914202bf4c167a93dd74f67c791b7  gcc/config/alpha/constraints.md
  cc4294801cf299374bae02319a552dbc  gcc/config/alpha/driver-alpha.cc
  1c3d89aee382bcf7819fc4d1170c2bb6  gcc/config/alpha/elf.h
*************** c6acf03bc43070e9c61e14fa7a4a0cb6  gcc/co
*** 3688,3694 ****
  208ecc54b090b0bf3d9fb8f776587a0c  gcc/config/arc/arc.h
  ea5a9b331d0504b04c1fa274239c18d9  gcc/config/arc/arc.md
  f79a52d46acb2409a7cb46770b80e1e6  gcc/config/arc/arc.opt
! c75ecba1b826195e2515b81214e77f6e  gcc/config/arc/arc.opt.urls
  a3f8bbc3161d21e057f958c5eb965623  gcc/config/arc/arc600.md
  245227c1a72baa80f78181796ccb63ad  gcc/config/arc/arc700.md
  38ff87aecba54b6837249c54841b97bb  gcc/config/arc/arcEM.md
--- 3689,3695 ----
  208ecc54b090b0bf3d9fb8f776587a0c  gcc/config/arc/arc.h
  ea5a9b331d0504b04c1fa274239c18d9  gcc/config/arc/arc.md
  f79a52d46acb2409a7cb46770b80e1e6  gcc/config/arc/arc.opt
! c3baf63ecb600d3affb19477ac1f85dd  gcc/config/arc/arc.opt.urls
  a3f8bbc3161d21e057f958c5eb965623  gcc/config/arc/arc600.md
  245227c1a72baa80f78181796ccb63ad  gcc/config/arc/arc700.md
  38ff87aecba54b6837249c54841b97bb  gcc/config/arc/arcEM.md
*************** b5f7e0b5b33aa917de47ab3bf691f123  gcc/co
*** 3749,3755 ****
  fcb5b2782878cf25e12f0da91cb0075b  gcc/config/arm/arm.h
  767223b5c896c68161cd96e931965e70  gcc/config/arm/arm.md
  68b71bf902cc6c9290e847ce76a9fdea  gcc/config/arm/arm.opt
! 57a7ca88f6a922230539f24c37f0c6e9  gcc/config/arm/arm.opt.urls
  9e0f773438fc26deecff276e4b7684ef  gcc/config/arm/arm1020e.md
  6213564503521fd0e6ec376ed995d772  gcc/config/arm/arm1026ejs.md
  5c7e4ee7c5f3c36f31cdc695a34d8d91  gcc/config/arm/arm1136jfs.md
--- 3750,3756 ----
  fcb5b2782878cf25e12f0da91cb0075b  gcc/config/arm/arm.h
  767223b5c896c68161cd96e931965e70  gcc/config/arm/arm.md
  68b71bf902cc6c9290e847ce76a9fdea  gcc/config/arm/arm.opt
! e9f9bb6f33d1b0c95dc7ccae3a50cbaf  gcc/config/arm/arm.opt.urls
  9e0f773438fc26deecff276e4b7684ef  gcc/config/arm/arm1020e.md
  6213564503521fd0e6ec376ed995d772  gcc/config/arm/arm1026ejs.md
  5c7e4ee7c5f3c36f31cdc695a34d8d91  gcc/config/arm/arm1136jfs.md
*************** a05e41599d53801ec294a019afda9ee5  gcc/co
*** 3808,3814 ****
  1667eb0fa8e0c13bbc8bee9dac9d67df  gcc/config/arm/marvell-pj4.md
  32c92ae1e742f4b71f8237f6a99ff6cc  gcc/config/arm/mmintrin.h
  60c1d9194ea1d3e2350c685cc97cbf83  gcc/config/arm/mve.md
! 56db02faf8409159a69027838d2dd8a9  gcc/config/arm/neon.md
  8d30cf4aec319e07ed12fff3c5cf305b  gcc/config/arm/netbsd-eabi.h
  40599a161c97c0c4dc8ca205f94be6d4  gcc/config/arm/netbsd-elf.h
  440e1629bcf9f80e1a56ada74bee6b24  gcc/config/arm/parsecpu.awk
--- 3809,3815 ----
  1667eb0fa8e0c13bbc8bee9dac9d67df  gcc/config/arm/marvell-pj4.md
  32c92ae1e742f4b71f8237f6a99ff6cc  gcc/config/arm/mmintrin.h
  60c1d9194ea1d3e2350c685cc97cbf83  gcc/config/arm/mve.md
! 81867ea0f51f02afe47cc2d9052cb1a3  gcc/config/arm/neon.md
  8d30cf4aec319e07ed12fff3c5cf305b  gcc/config/arm/netbsd-eabi.h
  40599a161c97c0c4dc8ca205f94be6d4  gcc/config/arm/netbsd-elf.h
  440e1629bcf9f80e1a56ada74bee6b24  gcc/config/arm/parsecpu.awk
*************** b05978bd2969a943265d3549c23b8b59  gcc/co
*** 3859,3869 ****
  7694efecfa1a86f5d70c1dcee34a8ffd  gcc/config/avr/avr-passes.def
  6033224c6e10fc0028d72d05ef4adc70  gcc/config/avr/avr-protos.h
  4ee8705558d223eb1da7a1266af8c799  gcc/config/avr/avr-stdint.h
! 969de206176d99cf8e655e0a0ed83350  gcc/config/avr/avr.cc
  a4c128a5989d02ad75000ddce5204e45  gcc/config/avr/avr.h
  b90ae914b2f6999e93154cd4ee679348  gcc/config/avr/avr.md
  952a12d62229d3077f49f68614cf8be4  gcc/config/avr/avr.opt
! 489f7578c0afc389ad7e6a8168b3613b  gcc/config/avr/avr.opt.urls
  a2e6c4bc09c4af90d1c01745985baff7  gcc/config/avr/avrlibc.h
  d9c8993192f71fd754cf947dfccacee6  gcc/config/avr/builtins.def
  dcd40301975d7f922b3fc51ba7ab1096  gcc/config/avr/constraints.md
--- 3860,3870 ----
  7694efecfa1a86f5d70c1dcee34a8ffd  gcc/config/avr/avr-passes.def
  6033224c6e10fc0028d72d05ef4adc70  gcc/config/avr/avr-protos.h
  4ee8705558d223eb1da7a1266af8c799  gcc/config/avr/avr-stdint.h
! b573ae5e0c9a5b17804044fa43a5c9e1  gcc/config/avr/avr.cc
  a4c128a5989d02ad75000ddce5204e45  gcc/config/avr/avr.h
  b90ae914b2f6999e93154cd4ee679348  gcc/config/avr/avr.md
  952a12d62229d3077f49f68614cf8be4  gcc/config/avr/avr.opt
! f10f1d2141cba9ac792b02771cf4e3ae  gcc/config/avr/avr.opt.urls
  a2e6c4bc09c4af90d1c01745985baff7  gcc/config/avr/avrlibc.h
  d9c8993192f71fd754cf947dfccacee6  gcc/config/avr/builtins.def
  dcd40301975d7f922b3fc51ba7ab1096  gcc/config/avr/constraints.md
*************** fd3376de883f1d923fa2b6bc26539ac4  gcc/co
*** 3906,3912 ****
  9e88bdd36d3469c7e3254faa6eee8c80  gcc/config/bpf/bpf.h
  7074332add0929bff663f1aacef70981  gcc/config/bpf/bpf.md
  b23d58618656034cd89cc31456567c3a  gcc/config/bpf/bpf.opt
! 3b53ef1bf245dd250d67afe13e54cbe9  gcc/config/bpf/bpf.opt.urls
  fe1ef24a9fba2a2cf70030577495696f  gcc/config/bpf/btfext-out.cc
  53645a8e8ef18334bc04ce2cb5a63c5b  gcc/config/bpf/btfext-out.h
  6a2b2e4c63b3a8475b313e2b2f79242b  gcc/config/bpf/constraints.md
--- 3907,3913 ----
  9e88bdd36d3469c7e3254faa6eee8c80  gcc/config/bpf/bpf.h
  7074332add0929bff663f1aacef70981  gcc/config/bpf/bpf.md
  b23d58618656034cd89cc31456567c3a  gcc/config/bpf/bpf.opt
! 3e2cdf3e83af474ef9980280e6ae16a5  gcc/config/bpf/bpf.opt.urls
  fe1ef24a9fba2a2cf70030577495696f  gcc/config/bpf/btfext-out.cc
  53645a8e8ef18334bc04ce2cb5a63c5b  gcc/config/bpf/btfext-out.h
  6a2b2e4c63b3a8475b313e2b2f79242b  gcc/config/bpf/constraints.md
*************** c5f25c0b6d5a72d9bf149711fd802caf  gcc/co
*** 3950,3956 ****
  5937d099a75f786eceb3027e381c5f1b  gcc/config/cris/cris.h
  1e240dc8d585913ba1560ccd812e1c20  gcc/config/cris/cris.md
  9806f1d00685997be4c9f849f3a615d8  gcc/config/cris/cris.opt
! fb2eaaac6e4d875e93964058c5cd516f  gcc/config/cris/cris.opt.urls
  9e100a5514b76c41c8ab833558ae88b9  gcc/config/cris/elf.opt
  e748b88b41c294446f5d1313565d003f  gcc/config/cris/elf.opt.urls
  e7b75c03f8e7c4b6213ebf6c590bfc91  gcc/config/cris/predicates.md
--- 3951,3957 ----
  5937d099a75f786eceb3027e381c5f1b  gcc/config/cris/cris.h
  1e240dc8d585913ba1560ccd812e1c20  gcc/config/cris/cris.md
  9806f1d00685997be4c9f849f3a615d8  gcc/config/cris/cris.opt
! 6860fb25a360ee6a896163ea010ecc27  gcc/config/cris/cris.opt.urls
  9e100a5514b76c41c8ab833558ae88b9  gcc/config/cris/elf.opt
  e748b88b41c294446f5d1313565d003f  gcc/config/cris/elf.opt.urls
  e7b75c03f8e7c4b6213ebf6c590bfc91  gcc/config/cris/predicates.md
*************** cf8b9e265eb733c7c120218863142390  gcc/co
*** 3997,4003 ****
  9d8acb6c9358ead72b77fe0f6c52ad36  gcc/config/darwin.cc
  f64c0a8e3e79c445281147d0e4547e36  gcc/config/darwin.h
  148592c1bf513e56d281629f94b70d9b  gcc/config/darwin.opt
! 5495a685c233676cec677f3286eb2d37  gcc/config/darwin.opt.urls
  4a5f649b74df564d653882eaeaa75adf  gcc/config/default-c.cc
  5b3453e9a19ac4b2f17661e06da0e52e  gcc/config/default-d.cc
  a737c318913b7cb9fc65ab79d8bce975  gcc/config/default-jit.cc
--- 3998,4004 ----
  9d8acb6c9358ead72b77fe0f6c52ad36  gcc/config/darwin.cc
  f64c0a8e3e79c445281147d0e4547e36  gcc/config/darwin.h
  148592c1bf513e56d281629f94b70d9b  gcc/config/darwin.opt
! fa92b7f7b8bd38472af4bfd5a8254310  gcc/config/darwin.opt.urls
  4a5f649b74df564d653882eaeaa75adf  gcc/config/default-c.cc
  5b3453e9a19ac4b2f17661e06da0e52e  gcc/config/default-d.cc
  a737c318913b7cb9fc65ab79d8bce975  gcc/config/default-jit.cc
*************** d03b97264ba80bd58afc0bd371bb210b  gcc/co
*** 4007,4013 ****
  79c743492f58c4f2684ba7d7ae7eee85  gcc/config/dragonfly-stdint.h
  2d37b7e29414d2e47b06e9838594fc5f  gcc/config/dragonfly.h
  d9cda3c2aeebdbb202a646b7fc80a42a  gcc/config/dragonfly.opt
! 224d377be0df21ebab1d38cec27a7743  gcc/config/dragonfly.opt.urls
  89c387a2e0ffc5b672c9b9c9e4015ad7  gcc/config/elfos.h
  c7967649d7ebce88af774f54ce092852  gcc/config/epiphany/constraints.md
  6ad872d5e627d93723179397b19d71a2  gcc/config/epiphany/epiphany-modes.def
--- 4008,4014 ----
  79c743492f58c4f2684ba7d7ae7eee85  gcc/config/dragonfly-stdint.h
  2d37b7e29414d2e47b06e9838594fc5f  gcc/config/dragonfly.h
  d9cda3c2aeebdbb202a646b7fc80a42a  gcc/config/dragonfly.opt
! fa845c4f738a01074c524fcb3bdb12fe  gcc/config/dragonfly.opt.urls
  89c387a2e0ffc5b672c9b9c9e4015ad7  gcc/config/elfos.h
  c7967649d7ebce88af774f54ce092852  gcc/config/epiphany/constraints.md
  6ad872d5e627d93723179397b19d71a2  gcc/config/epiphany/epiphany-modes.def
*************** f1b078455af524b97e3635c4619d8225  gcc/co
*** 4040,4046 ****
  3c7dc08394c68470b93c9c20c3dfa0b9  gcc/config/freebsd-stdint.h
  94796d5b3c1334f3037950c3a893385f  gcc/config/freebsd.h
  d34244fbab1499815af9daf85e3419ee  gcc/config/freebsd.opt
! 84b8b8c9bc52cd476a47aea89dccdadc  gcc/config/freebsd.opt.urls
  5a9d58cb608ea3b6c71428376e34ff7c  gcc/config/frv/constraints.md
  519bf882eb6c169cc6c1912a1bbecb85  gcc/config/frv/frv-asm.h
  3bd2954fa2c4cdb09efe5656244facac  gcc/config/frv/frv-modes.def
--- 4041,4047 ----
  3c7dc08394c68470b93c9c20c3dfa0b9  gcc/config/freebsd-stdint.h
  94796d5b3c1334f3037950c3a893385f  gcc/config/freebsd.h
  d34244fbab1499815af9daf85e3419ee  gcc/config/freebsd.opt
! 99cb7233f9a82b54a0075f62b0e068d9  gcc/config/freebsd.opt.urls
  5a9d58cb608ea3b6c71428376e34ff7c  gcc/config/frv/constraints.md
  519bf882eb6c169cc6c1912a1bbecb85  gcc/config/frv/frv-asm.h
  3bd2954fa2c4cdb09efe5656244facac  gcc/config/frv/frv-modes.def
*************** d34244fbab1499815af9daf85e3419ee  gcc/co
*** 4049,4055 ****
  f95f7567293415d1397c222c645d68c1  gcc/config/frv/frv.cc
  c7c9c517f429f9bb1b96422c49501881  gcc/config/frv/frv.h
  8fd4378c141fce5a39f74509815c35fc  gcc/config/frv/frv.md
! 8c3415a50e29a2c6154e42c148b53de3  gcc/config/frv/frv.opt
  934d784ec8a90ae67db90a3a6cf3688e  gcc/config/frv/frv.opt.urls
  32e17bc991cec95d5fc4dbebcacc42a4  gcc/config/frv/linux.h
  d89ad5fe4a4de9de7088210fb317c84a  gcc/config/frv/predicates.md
--- 4050,4056 ----
  f95f7567293415d1397c222c645d68c1  gcc/config/frv/frv.cc
  c7c9c517f429f9bb1b96422c49501881  gcc/config/frv/frv.h
  8fd4378c141fce5a39f74509815c35fc  gcc/config/frv/frv.md
! 65ae62a7807da69b431f81c006145261  gcc/config/frv/frv.opt
  934d784ec8a90ae67db90a3a6cf3688e  gcc/config/frv/frv.opt.urls
  32e17bc991cec95d5fc4dbebcacc42a4  gcc/config/frv/linux.h
  d89ad5fe4a4de9de7088210fb317c84a  gcc/config/frv/predicates.md
*************** a3c2585b76667370d90aecdc90a8348a  gcc/co
*** 4099,4105 ****
  f7dbf0f3812abaef9d76addce925c5b3  gcc/config/gnu-d.cc
  4bbd3e3f513f3e7d6af9fde4879f9144  gcc/config/gnu-user.h
  1858c32ede1f620203ed638ba8e6b3c2  gcc/config/gnu-user.opt
! 2cb362bb1c09d24903fe9b726080dae5  gcc/config/gnu-user.opt.urls
  0afc87f8213cdff05820de461c45fece  gcc/config/gnu.h
  762caed3032d23c497832b0f920ad5df  gcc/config/h8300/addsub.md
  cddc64825ce6e6e92692684251745f9e  gcc/config/h8300/bitfield.md
--- 4100,4106 ----
  f7dbf0f3812abaef9d76addce925c5b3  gcc/config/gnu-d.cc
  4bbd3e3f513f3e7d6af9fde4879f9144  gcc/config/gnu-user.h
  1858c32ede1f620203ed638ba8e6b3c2  gcc/config/gnu-user.opt
! d039ad9b715903a97cd9d68a8116fe71  gcc/config/gnu-user.opt.urls
  0afc87f8213cdff05820de461c45fece  gcc/config/gnu.h
  762caed3032d23c497832b0f920ad5df  gcc/config/h8300/addsub.md
  cddc64825ce6e6e92692684251745f9e  gcc/config/h8300/bitfield.md
*************** e0cfa2d30528afe7d96718b2c0d2f042  gcc/co
*** 4140,4146 ****
  7b5daafe15fce1b864492af648812dc4  gcc/config/host-solaris.cc
  2c191e2d8d033611c6fccc8362d9e8f0  gcc/config/hpux-stdint.h
  849dbe36cd177425793947131ae0c4e4  gcc/config/hpux11.opt
! 920453e0474a9540e058dfd64f52c234  gcc/config/hpux11.opt.urls
  bce047f0ce185b9d2357065eaf595063  gcc/config/i386/adxintrin.h
  caa03bda7825e35f017ef5dbdda08600  gcc/config/i386/ammintrin.h
  f7b9dc5925af22e4c4a1fc76255fbff5  gcc/config/i386/amxavx512intrin.h
--- 4141,4147 ----
  7b5daafe15fce1b864492af648812dc4  gcc/config/host-solaris.cc
  2c191e2d8d033611c6fccc8362d9e8f0  gcc/config/hpux-stdint.h
  849dbe36cd177425793947131ae0c4e4  gcc/config/hpux11.opt
! 6fb8f575d2ba05a77e86b2a4670259bb  gcc/config/hpux11.opt.urls
  bce047f0ce185b9d2357065eaf595063  gcc/config/i386/adxintrin.h
  caa03bda7825e35f017ef5dbdda08600  gcc/config/i386/ammintrin.h
  f7b9dc5925af22e4c4a1fc76255fbff5  gcc/config/i386/amxavx512intrin.h
*************** eea748dea33c931f2a0211ffd279bd9d  gcc/co
*** 4227,4233 ****
  7a00aae17af7149d2d3b820963bc170f  gcc/config/i386/cygwin-w64.h
  7fa24da4effe0d45e3129f720aef22ab  gcc/config/i386/cygwin.h
  caf754940377d593ccf417ef5d1a2b71  gcc/config/i386/cygwin.opt
! b25762a5bb631eb36ee26c45ceb09b50  gcc/config/i386/cygwin.opt.urls
  38cb64d1c7c2478dab3692e54e60f46d  gcc/config/i386/darwin.h
  700269de5ce36bf877a561acd6a85d17  gcc/config/i386/darwin32-biarch.h
  1ebe9b73a1eb0eedca8986697cd94b89  gcc/config/i386/darwin64-biarch.h
--- 4228,4234 ----
  7a00aae17af7149d2d3b820963bc170f  gcc/config/i386/cygwin-w64.h
  7fa24da4effe0d45e3129f720aef22ab  gcc/config/i386/cygwin.h
  caf754940377d593ccf417ef5d1a2b71  gcc/config/i386/cygwin.opt
! 3b362955aab83912528fe683b571c289  gcc/config/i386/cygwin.opt.urls
  38cb64d1c7c2478dab3692e54e60f46d  gcc/config/i386/darwin.h
  700269de5ce36bf877a561acd6a85d17  gcc/config/i386/darwin32-biarch.h
  1ebe9b73a1eb0eedca8986697cd94b89  gcc/config/i386/darwin64-biarch.h
*************** be7f06e3ea032dfb39fcda012c812683  gcc/co
*** 4272,4278 ****
  4e422072527333634b85b1495395f8b6  gcc/config/i386/i386-c.cc
  a0261d6cc006fb86b99f338bdc94ae04  gcc/config/i386/i386-d.cc
  e9c7eebd4e344796f248c93990aa5166  gcc/config/i386/i386-d.h
! 727f2f6219bc8fd565c3d678be7b01f0  gcc/config/i386/i386-expand.cc
  386e1be7f608621b79970d4d036694f8  gcc/config/i386/i386-expand.h
  336ec64e6ca57b107b45550d0d6b145f  gcc/config/i386/i386-features.cc
  473c35b162be3bcf222c90a16f72b948  gcc/config/i386/i386-features.h
--- 4273,4279 ----
  4e422072527333634b85b1495395f8b6  gcc/config/i386/i386-c.cc
  a0261d6cc006fb86b99f338bdc94ae04  gcc/config/i386/i386-d.cc
  e9c7eebd4e344796f248c93990aa5166  gcc/config/i386/i386-d.h
! 5f56a612866543a8ee3f0a5adf428cb2  gcc/config/i386/i386-expand.cc
  386e1be7f608621b79970d4d036694f8  gcc/config/i386/i386-expand.h
  336ec64e6ca57b107b45550d0d6b145f  gcc/config/i386/i386-features.cc
  473c35b162be3bcf222c90a16f72b948  gcc/config/i386/i386-features.h
*************** c28514790f4784d421517c5a6b2f7d4f  gcc/co
*** 4288,4297 ****
  5b778b3296ea91dab0ca82338ca6828d  gcc/config/i386/i386-rust-and-jit.inc
  91b8b50cba997aef17a61929b5b55a87  gcc/config/i386/i386-rust.cc
  25b3947a11eb9ca52892133ddb36f3f2  gcc/config/i386/i386-rust.h
! f4b1b0a3decbbd9c9345ef2a42fededd  gcc/config/i386/i386.cc
! 49356da2e6c692df89e135b567156466  gcc/config/i386/i386.h
  8d7171c2d59a73707e6b828a2c65a955  gcc/config/i386/i386.md
! 3daf30a120b25bf169610339d8911e50  gcc/config/i386/i386.opt
  b9e680863ab278314c1f2990d2d04fcc  gcc/config/i386/i386.opt.urls
  7570cb8763bf53e7144db7d6cd97f846  gcc/config/i386/i386elf.h
  e91dbbea4abdb9b61d892b20c00503a9  gcc/config/i386/ia32intrin.h
--- 4289,4298 ----
  5b778b3296ea91dab0ca82338ca6828d  gcc/config/i386/i386-rust-and-jit.inc
  91b8b50cba997aef17a61929b5b55a87  gcc/config/i386/i386-rust.cc
  25b3947a11eb9ca52892133ddb36f3f2  gcc/config/i386/i386-rust.h
! 6054f2632e87ad634387f120d7a12ffa  gcc/config/i386/i386.cc
! 483853f45756ffc10a3acbe55d2d0920  gcc/config/i386/i386.h
  8d7171c2d59a73707e6b828a2c65a955  gcc/config/i386/i386.md
! f431cbff6410e63b4e2de0e11adf19fb  gcc/config/i386/i386.opt
  b9e680863ab278314c1f2990d2d04fcc  gcc/config/i386/i386.opt.urls
  7570cb8763bf53e7144db7d6cd97f846  gcc/config/i386/i386elf.h
  e91dbbea4abdb9b61d892b20c00503a9  gcc/config/i386/ia32intrin.h
*************** db114ac74c87743a142214fddaad2687  gcc/co
*** 4352,4359 ****
  94b0dab281a8deeed2a925444aed552a  gcc/config/i386/sm3intrin.h
  92210572b9f9f6481e4649a42d9ac3b0  gcc/config/i386/sm4intrin.h
  5298b8261e081859bbf068b710158e8f  gcc/config/i386/smmintrin.h
! 61d4d68f483393371bc476896ba80ac3  gcc/config/i386/sol2.h
! 120fd3c7f3954860fecc55f08834f646  gcc/config/i386/sse.md
  52e0114cb9ab8d55aac3c17d06657d71  gcc/config/i386/ssemath.h
  8a6ab9e02097018bc9f1c2b347d29cfa  gcc/config/i386/stringop.def
  a626b4e6cd3e15f4e9d5c769b6391243  gcc/config/i386/subst.md
--- 4353,4360 ----
  94b0dab281a8deeed2a925444aed552a  gcc/config/i386/sm3intrin.h
  92210572b9f9f6481e4649a42d9ac3b0  gcc/config/i386/sm4intrin.h
  5298b8261e081859bbf068b710158e8f  gcc/config/i386/smmintrin.h
! 5a24de64038248c06d15ab8e479dc295  gcc/config/i386/sol2.h
! a14f246d623e21be5fcec57c3185c50d  gcc/config/i386/sse.md
  52e0114cb9ab8d55aac3c17d06657d71  gcc/config/i386/ssemath.h
  8a6ab9e02097018bc9f1c2b347d29cfa  gcc/config/i386/stringop.def
  a626b4e6cd3e15f4e9d5c769b6391243  gcc/config/i386/subst.md
*************** c22e895e5b7e6b98c7223b26982a5d20  gcc/co
*** 4406,4412 ****
  0f7aabe76b19950e5c2ac36e9fec15a0  gcc/config/i386/x86-tune-sched-bd.cc
  864e537089cc92c5002cefd76ede977a  gcc/config/i386/x86-tune-sched-core.cc
  67c586fe54bcfe3f719ae50164d063ca  gcc/config/i386/x86-tune-sched.cc
! faecf7254852e8b92d6ef29347de0d73  gcc/config/i386/x86-tune.def
  75b1f0e8f79cfd04f898a4099aff669d  gcc/config/i386/x86gprintrin.h
  e5335d55cec73bd3270862ccac7a02e8  gcc/config/i386/x86intrin.h
  76f88cf5ac857d392ddb81b244c5b9b0  gcc/config/i386/xm-cygwin.h
--- 4407,4413 ----
  0f7aabe76b19950e5c2ac36e9fec15a0  gcc/config/i386/x86-tune-sched-bd.cc
  864e537089cc92c5002cefd76ede977a  gcc/config/i386/x86-tune-sched-core.cc
  67c586fe54bcfe3f719ae50164d063ca  gcc/config/i386/x86-tune-sched.cc
! bcb5f0c90c9b04c1319d89b59faa0d30  gcc/config/i386/x86-tune.def
  75b1f0e8f79cfd04f898a4099aff669d  gcc/config/i386/x86gprintrin.h
  e5335d55cec73bd3270862ccac7a02e8  gcc/config/i386/x86intrin.h
  76f88cf5ac857d392ddb81b244c5b9b0  gcc/config/i386/xm-cygwin.h
*************** d4249b59ef5a24b1a2711287b20e508c  gcc/co
*** 4500,4506 ****
  df8b4f4b8dcb89e729d1dd4c0a77e11c  gcc/config/loongarch/gnu-user.h
  ce049501c9736e269332c4a1b19c32ea  gcc/config/loongarch/la464.md
  8ba1f024d7e6687edc35f6a7892f7829  gcc/config/loongarch/larchintrin.h
! 188e281d87096739c079fa13e4af47e1  gcc/config/loongarch/lasx.md
  27fce87abf98871f7537919ba724e7ee  gcc/config/loongarch/lasxintrin.h
  787cab00aedf1fc937ded71896742e8d  gcc/config/loongarch/linux.h
  bc5393e4cea7b67dd63da49d0b4ef75b  gcc/config/loongarch/loongarch-builtins.cc
--- 4501,4507 ----
  df8b4f4b8dcb89e729d1dd4c0a77e11c  gcc/config/loongarch/gnu-user.h
  ce049501c9736e269332c4a1b19c32ea  gcc/config/loongarch/la464.md
  8ba1f024d7e6687edc35f6a7892f7829  gcc/config/loongarch/larchintrin.h
! 8fd8b25469c1db970309fa5b27f6b7a1  gcc/config/loongarch/lasx.md
  27fce87abf98871f7537919ba724e7ee  gcc/config/loongarch/lasxintrin.h
  787cab00aedf1fc937ded71896742e8d  gcc/config/loongarch/linux.h
  bc5393e4cea7b67dd63da49d0b4ef75b  gcc/config/loongarch/loongarch-builtins.cc
*************** fe51977e0ac69b0829287b1c8d3f5060  gcc/co
*** 4541,4547 ****
  2077777e56c76bfdc49229a85745bfe6  gcc/config/loongarch/t-multilib
  a52ea9773b8048a300f52875af013b56  gcc/config/lynx.h
  64951ee8dbab997dcf5b958908500593  gcc/config/lynx.opt
! 457b49151ec25bf9f9bea04d9376947c  gcc/config/lynx.opt.urls
  f363fc32589255dab3b6c3c1373548d5  gcc/config/m32c/addsub.md
  46bd8f27028f3c5fdca61f57d1f59ce9  gcc/config/m32c/bitops.md
  69080e8b7cd73ef7fd0613398554244c  gcc/config/m32c/blkmov.md
--- 4542,4548 ----
  2077777e56c76bfdc49229a85745bfe6  gcc/config/loongarch/t-multilib
  a52ea9773b8048a300f52875af013b56  gcc/config/lynx.h
  64951ee8dbab997dcf5b958908500593  gcc/config/lynx.opt
! 9fca3ddbf9b3995edeab525605ba26f7  gcc/config/lynx.opt.urls
  f363fc32589255dab3b6c3c1373548d5  gcc/config/m32c/addsub.md
  46bd8f27028f3c5fdca61f57d1f59ce9  gcc/config/m32c/bitops.md
  69080e8b7cd73ef7fd0613398554244c  gcc/config/m32c/blkmov.md
*************** ab248989539b9f02a45e3469f383916f  gcc/co
*** 4594,4601 ****
  f0f3ecbe72c6d785bc099c6259ed9a18  gcc/config/m68k/m68k.cc
  c9e0ec9611ab8ade71ef477fbcecfd71  gcc/config/m68k/m68k.h
  edc70cbcb720ae52dc5bccfc9d859e6a  gcc/config/m68k/m68k.md
! e36a025d75dd7ca6fa8c6ce735774657  gcc/config/m68k/m68k.opt
! 15b38cffd486c4658b821caaabc64826  gcc/config/m68k/m68k.opt.urls
  355d6d9b78db475f43ae6991e19e9e08  gcc/config/m68k/m68kelf.h
  04e22019b1f9e2328fceb8f223dbd026  gcc/config/m68k/m68kemb.h
  c0472199959f16fcb58702880954da6e  gcc/config/m68k/math-68881.h
--- 4595,4602 ----
  f0f3ecbe72c6d785bc099c6259ed9a18  gcc/config/m68k/m68k.cc
  c9e0ec9611ab8ade71ef477fbcecfd71  gcc/config/m68k/m68k.h
  edc70cbcb720ae52dc5bccfc9d859e6a  gcc/config/m68k/m68k.md
! adf00f43fe711efc8a91288493587387  gcc/config/m68k/m68k.opt
! 4ac9d1a63efa1a545d2c87edae0b90cc  gcc/config/m68k/m68k.opt.urls
  355d6d9b78db475f43ae6991e19e9e08  gcc/config/m68k/m68kelf.h
  04e22019b1f9e2328fceb8f223dbd026  gcc/config/m68k/m68kemb.h
  c0472199959f16fcb58702880954da6e  gcc/config/m68k/math-68881.h
*************** c39ca48ec802140abf3d593c33046b04  gcc/co
*** 4624,4630 ****
  b1321a2414541bbf8755ab640a1d35f9  gcc/config/mcore/mcore.h
  6d55781738ef97946755b242cf1745a1  gcc/config/mcore/mcore.md
  f16cc70f996e887659e9bbaeae81097a  gcc/config/mcore/mcore.opt
! ce5d8a592e82cf70b222e6f2a77b56a0  gcc/config/mcore/mcore.opt.urls
  d074a00b74c8d59607883f2f8c168c98  gcc/config/mcore/predicates.md
  79321f709150d38f106bf4f04e7841e3  gcc/config/mcore/t-mcore
  57aa06a1bd40b839ef94f2d77bfb7fbe  gcc/config/microblaze/constraints.md
--- 4625,4631 ----
  b1321a2414541bbf8755ab640a1d35f9  gcc/config/mcore/mcore.h
  6d55781738ef97946755b242cf1745a1  gcc/config/mcore/mcore.md
  f16cc70f996e887659e9bbaeae81097a  gcc/config/mcore/mcore.opt
! 518998d9bf7e0bd7040a43879176fe2a  gcc/config/mcore/mcore.opt.urls
  d074a00b74c8d59607883f2f8c168c98  gcc/config/mcore/predicates.md
  79321f709150d38f106bf4f04e7841e3  gcc/config/mcore/t-mcore
  57aa06a1bd40b839ef94f2d77bfb7fbe  gcc/config/microblaze/constraints.md
*************** df031372af9c825d21d2058d266247a0  gcc/co
*** 4644,4654 ****
  63ccba4e7f745d36609d7c129bac6288  gcc/config/microblaze/t-microblaze-linux
  a8b08640136e3e7712d2278eb84c21d9  gcc/config/microblaze/t-rtems
  aab868e13fa11db204b530f90af81029  gcc/config/mingw/cygming.opt
! b509852d4359316090bcd55202a1613c  gcc/config/mingw/cygming.opt.urls
  3a09de115b6947874ec185e5164e8f69  gcc/config/mingw/cygwin-d.cc
  8aa59f703b6d8957ff655113267f7404  gcc/config/mingw/mingw-stdint.h
  dbcb030a5a374a20a894ab55346eb2a0  gcc/config/mingw/mingw.opt
! 12a42cc3d132d3ae1aef1548655fabaa  gcc/config/mingw/mingw.opt.urls
  1d5f1a57665738292d79250735b11e47  gcc/config/mingw/mingw32.h
  1e94c126fd81c1bcb376905cbf579a7f  gcc/config/mingw/msformat-c.cc
  da2e1484517c66fece1fadd07669571d  gcc/config/mingw/t-cygming
--- 4645,4655 ----
  63ccba4e7f745d36609d7c129bac6288  gcc/config/microblaze/t-microblaze-linux
  a8b08640136e3e7712d2278eb84c21d9  gcc/config/microblaze/t-rtems
  aab868e13fa11db204b530f90af81029  gcc/config/mingw/cygming.opt
! 2cc2835c6b0f3061fc3eae08c6ade557  gcc/config/mingw/cygming.opt.urls
  3a09de115b6947874ec185e5164e8f69  gcc/config/mingw/cygwin-d.cc
  8aa59f703b6d8957ff655113267f7404  gcc/config/mingw/mingw-stdint.h
  dbcb030a5a374a20a894ab55346eb2a0  gcc/config/mingw/mingw.opt
! 19d5796358fa93b7d6fe22a02604a407  gcc/config/mingw/mingw.opt.urls
  1d5f1a57665738292d79250735b11e47  gcc/config/mingw/mingw32.h
  1e94c126fd81c1bcb376905cbf579a7f  gcc/config/mingw/msformat-c.cc
  da2e1484517c66fece1fadd07669571d  gcc/config/mingw/t-cygming
*************** d721b62b45e3d41cf231605ad9646ea0  gcc/co
*** 4716,4722 ****
  c3f89a44da0bb860a7ac949f008546b1  gcc/config/mips/mips.h
  62c91047998070c0f017a68e2a78fbe7  gcc/config/mips/mips.md
  09db4f2e8c03333595305c1b1c1c0fc7  gcc/config/mips/mips.opt
! 7742c648c8bee18fe57e3e21bd7c846b  gcc/config/mips/mips.opt.urls
  79c849472a0f91bdf81cbd76d4f9d348  gcc/config/mips/msa.h
  1f178b192f9ea0c39bef7f4b708fcb0f  gcc/config/mips/mti-elf.h
  5ad4971d89b71e86695efd19f5329b90  gcc/config/mips/mti-linux.h
--- 4717,4723 ----
  c3f89a44da0bb860a7ac949f008546b1  gcc/config/mips/mips.h
  62c91047998070c0f017a68e2a78fbe7  gcc/config/mips/mips.md
  09db4f2e8c03333595305c1b1c1c0fc7  gcc/config/mips/mips.opt
! e27efa10159c17e2479da7d6f900b631  gcc/config/mips/mips.opt.urls
  79c849472a0f91bdf81cbd76d4f9d348  gcc/config/mips/msa.h
  1f178b192f9ea0c39bef7f4b708fcb0f  gcc/config/mips/mti-elf.h
  5ad4971d89b71e86695efd19f5329b90  gcc/config/mips/mti-linux.h
*************** d1fde5087e7fdfaa1a6d9d2fd03a8920  gcc/co
*** 4731,4737 ****
  0fa097b15a63c80e02e5c14b1dc4f79e  gcc/config/mips/sb1.md
  54bcbcea048ee6ed39d0b94d6636abfa  gcc/config/mips/sde.h
  104923132cebf1d674dd1c088d70d9b1  gcc/config/mips/sde.opt
! b071da46f4d4d78223b4f2ecf6d3895c  gcc/config/mips/sde.opt.urls
  3eb4c72d1e1a0f6395119c15d20dd303  gcc/config/mips/sdemtk.h
  7155aeea80db1a002ae3bd50c51d7ce5  gcc/config/mips/sr71k.md
  fa5d8cea196f74c1f3c4667509bff358  gcc/config/mips/st.h
--- 4732,4738 ----
  0fa097b15a63c80e02e5c14b1dc4f79e  gcc/config/mips/sb1.md
  54bcbcea048ee6ed39d0b94d6636abfa  gcc/config/mips/sde.h
  104923132cebf1d674dd1c088d70d9b1  gcc/config/mips/sde.opt
! bdb78e19d53ecbecb7fa47ce6ea09c60  gcc/config/mips/sde.opt.urls
  3eb4c72d1e1a0f6395119c15d20dd303  gcc/config/mips/sdemtk.h
  7155aeea80db1a002ae3bd50c51d7ce5  gcc/config/mips/sr71k.md
  fa5d8cea196f74c1f3c4667509bff358  gcc/config/mips/st.h
*************** f1ffacbf6895e1f0822f9832ffa05298  gcc/co
*** 4766,4772 ****
  bb2c2f38aff36562f5b654660ccea2bf  gcc/config/mmix/mmix.h
  2c888a2543948e7a21778d538e11e9e4  gcc/config/mmix/mmix.md
  cd92e870266ab69f70fe22b4e0689b06  gcc/config/mmix/mmix.opt
! 2dea647561da8263bf4094be896d4765  gcc/config/mmix/mmix.opt.urls
  a7302f13019bca510f0a5af698ed2bb3  gcc/config/mmix/predicates.md
  ebc152c75a74bc4f99a26a0eaf48f5ef  gcc/config/mmix/t-mmix
  1a9f591ce3ce89c7ba4068fd2512fa77  gcc/config/mn10300/constraints.md
--- 4767,4773 ----
  bb2c2f38aff36562f5b654660ccea2bf  gcc/config/mmix/mmix.h
  2c888a2543948e7a21778d538e11e9e4  gcc/config/mmix/mmix.md
  cd92e870266ab69f70fe22b4e0689b06  gcc/config/mmix/mmix.opt
! cf606b802843e3437330f832324f5029  gcc/config/mmix/mmix.opt.urls
  a7302f13019bca510f0a5af698ed2bb3  gcc/config/mmix/predicates.md
  ebc152c75a74bc4f99a26a0eaf48f5ef  gcc/config/mmix/t-mmix
  1a9f591ce3ce89c7ba4068fd2512fa77  gcc/config/mn10300/constraints.md
*************** b9e847901fb2e435797aeade3fb92c9f  gcc/co
*** 4869,4875 ****
  871a27f0ae567107ebd56667037727b0  gcc/config/netbsd.cc
  b387f44c9f6daa48b14d057ccae84727  gcc/config/netbsd.h
  88611fe131aba45ab23f2e786330c503  gcc/config/netbsd.opt
! 1706a6c14a0046347090996f2fa0cf60  gcc/config/netbsd.opt.urls
  958232e96bda3ed0b2a13a05b79de780  gcc/config/newlib-stdint.h
  d5fbbf2154f81230db9bf181bb64b2d6  gcc/config/nvptx/gen-copyright.sh
  95aea124a7e2233915c866d785e70014  gcc/config/nvptx/gen-h.sh
--- 4870,4876 ----
  871a27f0ae567107ebd56667037727b0  gcc/config/netbsd.cc
  b387f44c9f6daa48b14d057ccae84727  gcc/config/netbsd.h
  88611fe131aba45ab23f2e786330c503  gcc/config/netbsd.opt
! 2d8ddf3cb6445f1f788bf4c1f6f61300  gcc/config/netbsd.opt.urls
  958232e96bda3ed0b2a13a05b79de780  gcc/config/newlib-stdint.h
  d5fbbf2154f81230db9bf181bb64b2d6  gcc/config/nvptx/gen-copyright.sh
  95aea124a7e2233915c866d785e70014  gcc/config/nvptx/gen-h.sh
*************** e8a3a49db2057340b383556c9f01ca93  gcc/co
*** 4889,4896 ****
  779052227f234afb9dc19a87dbcd1a47  gcc/config/nvptx/nvptx.cc
  1962ec9fc83ea07e67ce77f805096639  gcc/config/nvptx/nvptx.h
  b73220c606bf6c1705b780468fa1a60b  gcc/config/nvptx/nvptx.md
! 0dd240a520cbaf46208d6e0c3e44c89e  gcc/config/nvptx/nvptx.opt
! 6272eb233aa489d900bc644f9502493c  gcc/config/nvptx/nvptx.opt.urls
  6dfcaf98ccebde10c0048561ac4b5a75  gcc/config/nvptx/offload.h
  e5b7e572a77f7a504a29fda1e6e163d9  gcc/config/nvptx/t-nvptx
  0611c8534afbbbca5fe6378a13849c46  gcc/config/nvptx/t-omp-device
--- 4890,4897 ----
  779052227f234afb9dc19a87dbcd1a47  gcc/config/nvptx/nvptx.cc
  1962ec9fc83ea07e67ce77f805096639  gcc/config/nvptx/nvptx.h
  b73220c606bf6c1705b780468fa1a60b  gcc/config/nvptx/nvptx.md
! 66df8efb52c37638c3e5f523adba27cc  gcc/config/nvptx/nvptx.opt
! f5c35e6fc1338d61e80f525ad1d27ead  gcc/config/nvptx/nvptx.opt.urls
  6dfcaf98ccebde10c0048561ac4b5a75  gcc/config/nvptx/offload.h
  e5b7e572a77f7a504a29fda1e6e163d9  gcc/config/nvptx/t-nvptx
  0611c8534afbbbca5fe6378a13849c46  gcc/config/nvptx/t-omp-device
*************** dcff4e0a502ca3e4e910113907cd17a5  gcc/co
*** 4900,4906 ****
  9f7ed215196feac2290a9c21bba850c3  gcc/config/openbsd-stdint.h
  689fd4b9905adc4409c5df7a78aaae20  gcc/config/openbsd.h
  25ba43afb88cc3e986953ddbb6680337  gcc/config/openbsd.opt
! aa09fe3d5d6d95f4db3ade89617f8d76  gcc/config/openbsd.opt.urls
  0a4bab19970fc553c7efb3f359b95067  gcc/config/or1k/constraints.md
  d4be91a79300843f584011862102a230  gcc/config/or1k/elf.h
  ea47b9aaff57a2a9d2393ed60a70f379  gcc/config/or1k/elf.opt
--- 4901,4907 ----
  9f7ed215196feac2290a9c21bba850c3  gcc/config/openbsd-stdint.h
  689fd4b9905adc4409c5df7a78aaae20  gcc/config/openbsd.h
  25ba43afb88cc3e986953ddbb6680337  gcc/config/openbsd.opt
! f2528020fcdc72755829904c1e2bd9cd  gcc/config/openbsd.opt.urls
  0a4bab19970fc553c7efb3f359b95067  gcc/config/or1k/constraints.md
  d4be91a79300843f584011862102a230  gcc/config/or1k/elf.h
  ea47b9aaff57a2a9d2393ed60a70f379  gcc/config/or1k/elf.opt
*************** fbba4e9f3f0e00cdc072f9a3d399d0d1  gcc/co
*** 5033,5039 ****
  7f7d3639030a4672597f5ffcc2083cd0  gcc/config/riscv/riscv-builtins.cc
  04e612495f0a5f56f56e8d6795606254  gcc/config/riscv/riscv-c.cc
  3b7012a7d47b9aaf163e890d3e29013e  gcc/config/riscv/riscv-cmo.def
! 5c9f9f19f84ea65756441cf4c0ab9381  gcc/config/riscv/riscv-cores.def
  165a5d0020971e2616fa7c9198c56338  gcc/config/riscv/riscv-d.cc
  c5d537324bd78e2ade1cf59d04fc1f54  gcc/config/riscv/riscv-d.h
  6078aa631d1c71fd215d51e4edcec963  gcc/config/riscv/riscv-ext-andes.def
--- 5034,5040 ----
  7f7d3639030a4672597f5ffcc2083cd0  gcc/config/riscv/riscv-builtins.cc
  04e612495f0a5f56f56e8d6795606254  gcc/config/riscv/riscv-c.cc
  3b7012a7d47b9aaf163e890d3e29013e  gcc/config/riscv/riscv-cmo.def
! 84bf4f3e3dd8352b0c98c731547841d9  gcc/config/riscv/riscv-cores.def
  165a5d0020971e2616fa7c9198c56338  gcc/config/riscv/riscv-d.cc
  c5d537324bd78e2ade1cf59d04fc1f54  gcc/config/riscv/riscv-d.h
  6078aa631d1c71fd215d51e4edcec963  gcc/config/riscv/riscv-ext-andes.def
*************** b3add452de40e1251155f0c29559d9a7  gcc/co
*** 5064,5085 ****
  6c563e0baf9031dcc0a4e26a55330b2e  gcc/config/riscv/riscv-v.cc
  23f9fe60c9f6f052bd55875310c01b0e  gcc/config/riscv/riscv-v.h
  3d17a86fd1ba10efb8809c613d1eb6cf  gcc/config/riscv/riscv-vect-permconst.cc
! 07170c477d5c21df858f051d3d5ddc22  gcc/config/riscv/riscv-vector-builtins-bases.cc
  7fc09f50e292c52420537953650fa0de  gcc/config/riscv/riscv-vector-builtins-bases.h
! 0b85e82c710d4108c04a9c14c908d524  gcc/config/riscv/riscv-vector-builtins-functions.def
  99633c5e82aa1fc497802b59d54e23a8  gcc/config/riscv/riscv-vector-builtins-shapes.cc
  2a2b16ff55b4e9c8265561eb12d0aa49  gcc/config/riscv/riscv-vector-builtins-shapes.h
  a6642c27cbc8f18cf3cab4881911ed3f  gcc/config/riscv/riscv-vector-builtins-types.def
! b6d2d4dffff42a091848dd60bc0cbb92  gcc/config/riscv/riscv-vector-builtins.cc
  6f087b25674ebed60ebd0e55c4fe30e1  gcc/config/riscv/riscv-vector-builtins.def
! d249eb7fdcb1f194794f37ab61535314  gcc/config/riscv/riscv-vector-builtins.h
  9c783e57e05c70a808213ceff7299df9  gcc/config/riscv/riscv-vector-costs.cc
  8c1680c1bc7e171e4992d3aa9ea64d18  gcc/config/riscv/riscv-vector-costs.h
! 1748c2f001d0eebece3aabf60db587fa  gcc/config/riscv/riscv-vector-switch.def
! a04b8f75edb78335fe98963c4cc2072a  gcc/config/riscv/riscv-vsetvl.cc
  10ae51c30c9b8e6dce66f20016fae344  gcc/config/riscv/riscv-vsetvl.def
  85dee253312a7f85a1d4f8554a601105  gcc/config/riscv/riscv-zicfilp.cc
! caabc1df8c298b59318d1c7317088c90  gcc/config/riscv/riscv.cc
  cff2fc59ab1defbd178f75bdcd643bcc  gcc/config/riscv/riscv.h
  69bf57d0406b6ab66b5fd796932171e7  gcc/config/riscv/riscv.md
  2d23f30f1a22bd9edff8821ece67599e  gcc/config/riscv/riscv.opt
--- 5065,5086 ----
  6c563e0baf9031dcc0a4e26a55330b2e  gcc/config/riscv/riscv-v.cc
  23f9fe60c9f6f052bd55875310c01b0e  gcc/config/riscv/riscv-v.h
  3d17a86fd1ba10efb8809c613d1eb6cf  gcc/config/riscv/riscv-vect-permconst.cc
! 98a11833aec7ba0b68cdde01fea5d57e  gcc/config/riscv/riscv-vector-builtins-bases.cc
  7fc09f50e292c52420537953650fa0de  gcc/config/riscv/riscv-vector-builtins-bases.h
! 4a25523a7d997f5ddf9f1164da651e71  gcc/config/riscv/riscv-vector-builtins-functions.def
  99633c5e82aa1fc497802b59d54e23a8  gcc/config/riscv/riscv-vector-builtins-shapes.cc
  2a2b16ff55b4e9c8265561eb12d0aa49  gcc/config/riscv/riscv-vector-builtins-shapes.h
  a6642c27cbc8f18cf3cab4881911ed3f  gcc/config/riscv/riscv-vector-builtins-types.def
! c73717c287edea2d33632f9072f13635  gcc/config/riscv/riscv-vector-builtins.cc
  6f087b25674ebed60ebd0e55c4fe30e1  gcc/config/riscv/riscv-vector-builtins.def
! b65281b3d979c9c774d30d65281a07ab  gcc/config/riscv/riscv-vector-builtins.h
  9c783e57e05c70a808213ceff7299df9  gcc/config/riscv/riscv-vector-costs.cc
  8c1680c1bc7e171e4992d3aa9ea64d18  gcc/config/riscv/riscv-vector-costs.h
! 4dd506c7e0c9b67fb2b6c5acdf4f44b7  gcc/config/riscv/riscv-vector-switch.def
! 1408ee27e2fe3fea4f994902802d9746  gcc/config/riscv/riscv-vsetvl.cc
  10ae51c30c9b8e6dce66f20016fae344  gcc/config/riscv/riscv-vsetvl.def
  85dee253312a7f85a1d4f8554a601105  gcc/config/riscv/riscv-zicfilp.cc
! 34a9166fc59f0b58319fb277f61c0f6a  gcc/config/riscv/riscv.cc
  cff2fc59ab1defbd178f75bdcd643bcc  gcc/config/riscv/riscv.h
  69bf57d0406b6ab66b5fd796932171e7  gcc/config/riscv/riscv.md
  2d23f30f1a22bd9edff8821ece67599e  gcc/config/riscv/riscv.opt
*************** a95321fbec5a4da32a9ee8145b8b0c6d  gcc/co
*** 5118,5124 ****
  dcbac9d3c6831ff1cd18effca9c7bb28  gcc/config/riscv/vector-bfloat16.md
  1efc7e76b1f8a6c41de01fba7e0d33b9  gcc/config/riscv/vector-crypto.md
  b55d2fd4003ec0324ba5452376c19666  gcc/config/riscv/vector-iterators.md
! 80b304137069ea43448057a540d14639  gcc/config/riscv/vector.md
  18d213c106fe52eebc74017d5ff892ce  gcc/config/riscv/xiangshan.md
  39ba96197510d4ac114a827d7ffbf806  gcc/config/riscv/zc.md
  e07a4370b20c2e0a34273d5b3c3b77d6  gcc/config/riscv/zicond.md
--- 5119,5125 ----
  dcbac9d3c6831ff1cd18effca9c7bb28  gcc/config/riscv/vector-bfloat16.md
  1efc7e76b1f8a6c41de01fba7e0d33b9  gcc/config/riscv/vector-crypto.md
  b55d2fd4003ec0324ba5452376c19666  gcc/config/riscv/vector-iterators.md
! 53bb8f454c5ae9e2ad35a49a1dd4b0ee  gcc/config/riscv/vector.md
  18d213c106fe52eebc74017d5ff892ce  gcc/config/riscv/xiangshan.md
  39ba96197510d4ac114a827d7ffbf806  gcc/config/riscv/zc.md
  e07a4370b20c2e0a34273d5b3c3b77d6  gcc/config/riscv/zicond.md
*************** abc0cdce92f661e664fc8de0c36c56dc  gcc/co
*** 5142,5148 ****
  5f107dca9bc4dda682424e1c920e0e4a  gcc/config/rs6000/440.md
  928c303f78d62f33becbee967a4fffae  gcc/config/rs6000/476.h
  4f561c84eecbb637fd1924d612526da9  gcc/config/rs6000/476.md
! efe57353c9e3af10f399f9ef3d7e1555  gcc/config/rs6000/476.opt
  e1a9c8119beed7008786bcb91a9dfe0a  gcc/config/rs6000/476.opt.urls
  d1f2559e79bed250d030c4701d52f45d  gcc/config/rs6000/601.md
  b912a28f5ef467e22deef728d3d83b9f  gcc/config/rs6000/603.md
--- 5143,5149 ----
  5f107dca9bc4dda682424e1c920e0e4a  gcc/config/rs6000/440.md
  928c303f78d62f33becbee967a4fffae  gcc/config/rs6000/476.h
  4f561c84eecbb637fd1924d612526da9  gcc/config/rs6000/476.md
! 042edad1dfb1db5d9acff6ef43eb14bf  gcc/config/rs6000/476.opt
  e1a9c8119beed7008786bcb91a9dfe0a  gcc/config/rs6000/476.opt.urls
  d1f2559e79bed250d030c4701d52f45d  gcc/config/rs6000/601.md
  b912a28f5ef467e22deef728d3d83b9f  gcc/config/rs6000/603.md
*************** cbcf88f781d3b1c5edd096738693a993  gcc/co
*** 5154,5160 ****
  a8b1f3ddfb1f6f99004ac2db6cd9dc74  gcc/config/rs6000/aix-stdint.h
  d0faac423dbdf9cf30ccf83ac9d2e60d  gcc/config/rs6000/aix.h
  1fceb97e97a40dc3014fd5d2a8ab5d07  gcc/config/rs6000/aix64.opt
! e4a4b03789e35b9e456f990006a38179  gcc/config/rs6000/aix64.opt.urls
  7a458de4c2e17a9a5c5b134cd5307283  gcc/config/rs6000/aix71.h
  20f4005e48ef1b44aaa1abcda010edb0  gcc/config/rs6000/aix72.h
  f6a351fafc8d9c1ddd46b271f0c859c9  gcc/config/rs6000/aix73.h
--- 5155,5161 ----
  a8b1f3ddfb1f6f99004ac2db6cd9dc74  gcc/config/rs6000/aix-stdint.h
  d0faac423dbdf9cf30ccf83ac9d2e60d  gcc/config/rs6000/aix.h
  1fceb97e97a40dc3014fd5d2a8ab5d07  gcc/config/rs6000/aix64.opt
! d70f08b893e019d12b16dc9a70754ef9  gcc/config/rs6000/aix64.opt.urls
  7a458de4c2e17a9a5c5b134cd5307283  gcc/config/rs6000/aix71.h
  20f4005e48ef1b44aaa1abcda010edb0  gcc/config/rs6000/aix72.h
  f6a351fafc8d9c1ddd46b271f0c859c9  gcc/config/rs6000/aix73.h
*************** a99d948e8d06e7754418348c976d8deb  gcc/co
*** 5200,5206 ****
  e4b02417cb4df9d5a76c80b1ff2a9f74  gcc/config/rs6000/linux.h
  0a507b8eec6391ca9fa75de53d805c39  gcc/config/rs6000/linux64.h
  235e303765b8162269663d6af8853c33  gcc/config/rs6000/linux64.opt
! 22c20fb3b9413357f5d49cd94e483e94  gcc/config/rs6000/linux64.opt.urls
  15a29c14042c17704cd788e9ec97f8b3  gcc/config/rs6000/linuxaltivec.h
  6368ef27960f047d29859f35015459ad  gcc/config/rs6000/lynx.h
  0cc3c5f9101501b8253ce3176c3ffce4  gcc/config/rs6000/milli.exp
--- 5201,5207 ----
  e4b02417cb4df9d5a76c80b1ff2a9f74  gcc/config/rs6000/linux.h
  0a507b8eec6391ca9fa75de53d805c39  gcc/config/rs6000/linux64.h
  235e303765b8162269663d6af8853c33  gcc/config/rs6000/linux64.opt
! 29455a0f359b87f59b8bcfc5bf1e6d61  gcc/config/rs6000/linux64.opt.urls
  15a29c14042c17704cd788e9ec97f8b3  gcc/config/rs6000/linuxaltivec.h
  6368ef27960f047d29859f35015459ad  gcc/config/rs6000/lynx.h
  0cc3c5f9101501b8253ce3176c3ffce4  gcc/config/rs6000/milli.exp
*************** afbfbc950d6708ec07548eeef4268905  gcc/co
*** 5251,5257 ****
  838ab0dea9bee1b30cbf4cb875917f74  gcc/config/rs6000/rs6000.h
  a575dd5c5592c7d23a9b53b985c01120  gcc/config/rs6000/rs6000.md
  fc53ceb489fffb4124155c557c54157f  gcc/config/rs6000/rs6000.opt
! 8d1e7c3e054e591cdac1e57832d63b7f  gcc/config/rs6000/rs6000.opt.urls
  89d4cadf8216efa86b72204e660cc4b0  gcc/config/rs6000/rs64.md
  d57d0eb0a8e2193f5cef2aaf1ad6d722  gcc/config/rs6000/rtems.h
  35eccfb56f965c2de296ac00355253e0  gcc/config/rs6000/secureplt.h
--- 5252,5258 ----
  838ab0dea9bee1b30cbf4cb875917f74  gcc/config/rs6000/rs6000.h
  a575dd5c5592c7d23a9b53b985c01120  gcc/config/rs6000/rs6000.md
  fc53ceb489fffb4124155c557c54157f  gcc/config/rs6000/rs6000.opt
! 80708ca71755b0d8d354f113f0617617  gcc/config/rs6000/rs6000.opt.urls
  89d4cadf8216efa86b72204e660cc4b0  gcc/config/rs6000/rs64.md
  d57d0eb0a8e2193f5cef2aaf1ad6d722  gcc/config/rs6000/rtems.h
  35eccfb56f965c2de296ac00355253e0  gcc/config/rs6000/secureplt.h
*************** b1a1f1ea8636fe96381989b926619397  gcc/co
*** 5261,5267 ****
  0955c6a2d639cf6eaade88aa538b81b8  gcc/config/rs6000/sync.md
  e8c76038df323d77e90f69c78138b1fd  gcc/config/rs6000/sysv4.h
  e51499a69ac94adadb730c6c5491b97d  gcc/config/rs6000/sysv4.opt
! 0dd83e9726419c15b715507e201b8354  gcc/config/rs6000/sysv4.opt.urls
  70c9ce454104e71a94ca85d02060e59c  gcc/config/rs6000/sysv4le.h
  38641efeb21dd097d73b2d9208aefb09  gcc/config/rs6000/t-aix52
  889ba001a8d4b18df30d57995b9a1e9e  gcc/config/rs6000/t-aix64
--- 5262,5268 ----
  0955c6a2d639cf6eaade88aa538b81b8  gcc/config/rs6000/sync.md
  e8c76038df323d77e90f69c78138b1fd  gcc/config/rs6000/sysv4.h
  e51499a69ac94adadb730c6c5491b97d  gcc/config/rs6000/sysv4.opt
! b1ed936b1a3e7303c34f1e54ec933230  gcc/config/rs6000/sysv4.opt.urls
  70c9ce454104e71a94ca85d02060e59c  gcc/config/rs6000/sysv4le.h
  38641efeb21dd097d73b2d9208aefb09  gcc/config/rs6000/t-aix52
  889ba001a8d4b18df30d57995b9a1e9e  gcc/config/rs6000/t-aix64
*************** e37cfdac5f4b92aac6cd0fbfbb97bd8f  gcc/co
*** 5304,5310 ****
  8fcc5623d6cebfe1cae3796824258927  gcc/config/rs6000/xmmintrin.h
  72e453813ce37399211efaef724554e7  gcc/config/rtems.h
  6a9ab905fd4d638dc60efc778b54c3e0  gcc/config/rtems.opt
! a8ed5cd6684f7b30ba53a0dd1dc0da4f  gcc/config/rtems.opt.urls
  f67f80a8f1bd3161efb391f094501313  gcc/config/rx/constraints.md
  4616a7d31fd4d03afbea82ed634db44a  gcc/config/rx/elf.opt
  495c9b539f4b3f5645b59d1084a92957  gcc/config/rx/elf.opt.urls
--- 5305,5311 ----
  8fcc5623d6cebfe1cae3796824258927  gcc/config/rs6000/xmmintrin.h
  72e453813ce37399211efaef724554e7  gcc/config/rtems.h
  6a9ab905fd4d638dc60efc778b54c3e0  gcc/config/rtems.opt
! 63d27d06289d5f9814baae9a6feaa996  gcc/config/rtems.opt.urls
  f67f80a8f1bd3161efb391f094501313  gcc/config/rx/constraints.md
  4616a7d31fd4d03afbea82ed634db44a  gcc/config/rx/elf.opt
  495c9b539f4b3f5645b59d1084a92957  gcc/config/rx/elf.opt.urls
*************** aa64c0eb4310add8b8e0d1bba0537540  gcc/co
*** 5361,5367 ****
  f5e56d5ff903f46152f37df8bef42eb8  gcc/config/s390/tpf.opt
  7f0f09b66533c13922e5fc6da2950d60  gcc/config/s390/tpf.opt.urls
  6e57eb27fae922ae85136ef1822dd1c6  gcc/config/s390/vecintrin.h
! e8b75f93abf4433fa4697e458ba8d736  gcc/config/s390/vector.md
  b678ee5bccc44afcfafc641ff868a547  gcc/config/s390/vx-builtins.md
  7813da5eac25ac16f589b0319ad43386  gcc/config/s390/x-native
  863cb3cd0d518ad77cd0acb858da1c2e  gcc/config/sh/constraints.md
--- 5362,5368 ----
  f5e56d5ff903f46152f37df8bef42eb8  gcc/config/s390/tpf.opt
  7f0f09b66533c13922e5fc6da2950d60  gcc/config/s390/tpf.opt.urls
  6e57eb27fae922ae85136ef1822dd1c6  gcc/config/s390/vecintrin.h
! ac2fbb945245925177ec51f89c3b712c  gcc/config/s390/vector.md
  b678ee5bccc44afcfafc641ff868a547  gcc/config/s390/vx-builtins.md
  7813da5eac25ac16f589b0319ad43386  gcc/config/s390/x-native
  863cb3cd0d518ad77cd0acb858da1c2e  gcc/config/sh/constraints.md
*************** fb8513c0c66fb1a6e8d5cde7b08975c5  gcc/co
*** 5386,5392 ****
  de5433ad4ca4e28cd54d4ff7e2862435  gcc/config/sh/sh.h
  4d09c48cdaa1d61ff15475e4604442ea  gcc/config/sh/sh.md
  10ed22d9ca9d7ec14fcf6b1a936fbf8d  gcc/config/sh/sh.opt
! 91c8fef4a8f6144843c56e928fed09f7  gcc/config/sh/sh.opt.urls
  95f5ec03805045e1d73c1e77a70ac975  gcc/config/sh/sh1.md
  f7f855e92d56b1d5449835012d70c86b  gcc/config/sh/sh4-300.md
  fe9e266cedb0e7598f71d98357d80284  gcc/config/sh/sh4.md
--- 5387,5393 ----
  de5433ad4ca4e28cd54d4ff7e2862435  gcc/config/sh/sh.h
  4d09c48cdaa1d61ff15475e4604442ea  gcc/config/sh/sh.md
  10ed22d9ca9d7ec14fcf6b1a936fbf8d  gcc/config/sh/sh.opt
! 8bfaebe9773073f4977ba6b37f472071  gcc/config/sh/sh.opt.urls
  95f5ec03805045e1d73c1e77a70ac975  gcc/config/sh/sh1.md
  f7f855e92d56b1d5449835012d70c86b  gcc/config/sh/sh4-300.md
  fe9e266cedb0e7598f71d98357d80284  gcc/config/sh/sh4.md
*************** fb6eddf49bf33b95bff884782f73dc7d  gcc/co
*** 5411,5419 ****
  605e41b649128712bf3488c99aa03901  gcc/config/sol2-rust.cc
  f8b2917f3bac10c9a81564048cb3f9f6  gcc/config/sol2-stubs.cc
  0aea82043a2789e23591a9cf906946d3  gcc/config/sol2.cc
! 7fe617504e2cd89c4e419a886e5f1b48  gcc/config/sol2.h
! a3e05cf44f1642f41e92d74831e44995  gcc/config/sol2.opt
! c0886a1ebdf6bfb65128d60974a8a2f2  gcc/config/sol2.opt.urls
  9b6245dbf34b906e35664b2135d3d709  gcc/config/sparc/biarch64.h
  818ae981defa95f6482131d6f51ac789  gcc/config/sparc/constraints.md
  bc82d702b596981bb91f981bbbc6233c  gcc/config/sparc/cypress.md
--- 5412,5420 ----
  605e41b649128712bf3488c99aa03901  gcc/config/sol2-rust.cc
  f8b2917f3bac10c9a81564048cb3f9f6  gcc/config/sol2-stubs.cc
  0aea82043a2789e23591a9cf906946d3  gcc/config/sol2.cc
! 5f32be733c4635d1bc85d60f7c7f8c04  gcc/config/sol2.h
! 50796270314632458d17ee73a2cd660d  gcc/config/sol2.opt
! 4667efab34b488f96b36aff3e7c6c90b  gcc/config/sol2.opt.urls
  9b6245dbf34b906e35664b2135d3d709  gcc/config/sparc/biarch64.h
  818ae981defa95f6482131d6f51ac789  gcc/config/sparc/constraints.md
  bc82d702b596981bb91f981bbbc6233c  gcc/config/sparc/cypress.md
*************** c5ad0142a191862e3e81ecd3573754b3  gcc/co
*** 5628,5634 ****
  55a33ae415bde0fd2e36ba584894e50b  gcc/coroutine-passes.cc
  7c2ad47e271f9b832badf1740a09c77e  gcc/coverage.cc
  8524318f81a8af8cfaa8d35966d8fdc2  gcc/coverage.h
! d8eb0ff0c5864b683fca5349ba0d7ad4  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
--- 5629,5635 ----
  55a33ae415bde0fd2e36ba584894e50b  gcc/coroutine-passes.cc
  7c2ad47e271f9b832badf1740a09c77e  gcc/coverage.cc
  8524318f81a8af8cfaa8d35966d8fdc2  gcc/coverage.h
! f194df3a8fdc52b4eab1cb72541e220c  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
*************** da351065af25977c46f56d82f11e47f8  gcc/cp
*** 5668,5676 ****
  0c977d6cad918b58f50e98b57afb2da8  gcc/cp/call.cc
  144dd1ae510a7436b569b007470b62da  gcc/cp/cfns.gperf
  39dd4c5a96c7ea132eb3c7ed039a065e  gcc/cp/cfns.h
! 5dbb1d3fe13e2d5cdd00aa4a228a41f6  gcc/cp/class.cc
  e51f295e858583af5f9cf88b9530adf7  gcc/cp/config-lang.in
! 03017b40beb05674e252bb00b1392e8f  gcc/cp/constexpr.cc
  695da628b2b27b6a8e2f34609d54da00  gcc/cp/constraint.cc
  a64fe7cc5ccde7066aea6b97c300a103  gcc/cp/contracts.cc
  8879da565f6e94b207c0df0a49c8178d  gcc/cp/contracts.h
--- 5669,5677 ----
  0c977d6cad918b58f50e98b57afb2da8  gcc/cp/call.cc
  144dd1ae510a7436b569b007470b62da  gcc/cp/cfns.gperf
  39dd4c5a96c7ea132eb3c7ed039a065e  gcc/cp/cfns.h
! 4560067043be9e91a7d2ac4006d81d29  gcc/cp/class.cc
  e51f295e858583af5f9cf88b9530adf7  gcc/cp/config-lang.in
! e80ac175ec6ab39c7f0b8741537c8fe4  gcc/cp/constexpr.cc
  695da628b2b27b6a8e2f34609d54da00  gcc/cp/constraint.cc
  a64fe7cc5ccde7066aea6b97c300a103  gcc/cp/contracts.cc
  8879da565f6e94b207c0df0a49c8178d  gcc/cp/contracts.h
*************** dc90e9919159154c06debd29a17af999  gcc/cp
*** 5683,5689 ****
  370b42bcdf211125186c37665052c30c  gcc/cp/cp-objcp-common.h
  64fa302e46b7097f7d989f5ab418d244  gcc/cp/cp-trait.def
  1e7a568329babf60fb2ba95082a49de0  gcc/cp/cp-tree.def
! 25bec934feeda249eb98cb8617eb534d  gcc/cp/cp-tree.h
  e2854dfa428fab45fc41bf58fef71e61  gcc/cp/cp-ubsan.cc
  450c80eca4c5b1adb25016bc5d9d7a59  gcc/cp/cvt.cc
  f067718cf3d629084d8347c4e017afd4  gcc/cp/cxx-pretty-print.cc
--- 5684,5690 ----
  370b42bcdf211125186c37665052c30c  gcc/cp/cp-objcp-common.h
  64fa302e46b7097f7d989f5ab418d244  gcc/cp/cp-trait.def
  1e7a568329babf60fb2ba95082a49de0  gcc/cp/cp-tree.def
! 57d0720166d3631ca7f11163e3c79325  gcc/cp/cp-tree.h
  e2854dfa428fab45fc41bf58fef71e61  gcc/cp/cp-ubsan.cc
  450c80eca4c5b1adb25016bc5d9d7a59  gcc/cp/cvt.cc
  f067718cf3d629084d8347c4e017afd4  gcc/cp/cxx-pretty-print.cc
*************** f067718cf3d629084d8347c4e017afd4  gcc/cp
*** 5691,5697 ****
  82a41d873e1c90067158c89e6c1bd4bb  gcc/cp/cxxapi-data.csv
  ab5b4c04cae57370ae488c1e714cc95e  gcc/cp/decl.cc
  6b0c9433f7d3f129a44b59d54babb4eb  gcc/cp/decl.h
! 1bca2f9d6892e98a7b6585d563412a18  gcc/cp/decl2.cc
  12ccd5244973d74a0536adf58261b416  gcc/cp/dump.cc
  1be2f9764d51e88964ee290314f203a1  gcc/cp/error.cc
  59d3d272a504a462c1f7081637e7f3e5  gcc/cp/except.cc
--- 5692,5698 ----
  82a41d873e1c90067158c89e6c1bd4bb  gcc/cp/cxxapi-data.csv
  ab5b4c04cae57370ae488c1e714cc95e  gcc/cp/decl.cc
  6b0c9433f7d3f129a44b59d54babb4eb  gcc/cp/decl.h
! 929cc6bcf957e1084e50878e0da20724  gcc/cp/decl2.cc
  12ccd5244973d74a0536adf58261b416  gcc/cp/dump.cc
  1be2f9764d51e88964ee290314f203a1  gcc/cp/error.cc
  59d3d272a504a462c1f7081637e7f3e5  gcc/cp/except.cc
*************** dcc164c09c53fdba9fb51ac5bc9d2710  gcc/cp
*** 5704,5732 ****
  bc388fb8287f2de7cdf4d78eb8f5d998  gcc/cp/lang-specs.h
  902272b48beecccfddccf439a6cfd382  gcc/cp/lex.cc
  e4ccdd9cbe95dde4cce27394a7613dd9  gcc/cp/logic.cc
! a7f156860f6d3903ea3db9960f8f3cd9  gcc/cp/mangle.cc
  3d68343c4a9d614bb00b91ad53e79a0b  gcc/cp/mapper-client.cc
  27465babcaf6195d4f438ed36bdd6aff  gcc/cp/mapper-client.h
  4be7487ea09330ba02fb0695bc32c905  gcc/cp/mapper-resolver.cc
! dbe7f85bef21f77e4dfb595f46c84491  gcc/cp/metafns.gperf
! 1d59a5b63998591cb8eac5b9581b7556  gcc/cp/metafns.h
  99dcd5706d056d3c446e2d90d8060632  gcc/cp/method.cc
  7461d63cc03067885d58c224b25bb8d7  gcc/cp/module.cc
! 01cd575c95be317ed15b7f0e0009434c  gcc/cp/name-lookup.cc
  00ce2aa60b041d84cd6cdcd75cb30271  gcc/cp/name-lookup.h
  b98d31c57aa038618db60991b17e0d35  gcc/cp/operators.def
  9efebf39da56d681d4405dfb9e55e3f5  gcc/cp/optimize.cc
! e6e5f975bbd74ee146a1dedf9f2b64b3  gcc/cp/parser.cc
  7973a34c47e3d3c580832655a3a5c3c2  gcc/cp/parser.h
  e1d4b6e8dc1b80d20ae7efe8767d5e39  gcc/cp/pt.cc
  25322928eaff39cf167372554c639e02  gcc/cp/ptree.cc
! 1eaf0da3c5a5974f0fa039389f4864a0  gcc/cp/reflect.cc
  97df067b24bdcb46ea1a2ca984c26a33  gcc/cp/rtti.cc
  b9408f726725803049cb0278946364b9  gcc/cp/search.cc
! 2d26600599a1e1dca260684fdfa6105c  gcc/cp/semantics.cc
  64c36b2ea66c9f8f477b19d24e06a2cb  gcc/cp/std-name-hint.gperf
  15cc409f13a8952feb90e94d99ecefa2  gcc/cp/std-name-hint.h
! 8e816da0a83632e0796dac4801805570  gcc/cp/tree.cc
  01e9a381e6fcf3d016d0170ee0ad71d7  gcc/cp/type-utils.h
  50b170b21816f19193b526b58ae3550c  gcc/cp/typeck.cc
  fa2059a62914b51814221a48ce5dec3a  gcc/cp/typeck2.cc
--- 5705,5733 ----
  bc388fb8287f2de7cdf4d78eb8f5d998  gcc/cp/lang-specs.h
  902272b48beecccfddccf439a6cfd382  gcc/cp/lex.cc
  e4ccdd9cbe95dde4cce27394a7613dd9  gcc/cp/logic.cc
! 4afadfd154343b88df902b1e9c3a65c9  gcc/cp/mangle.cc
  3d68343c4a9d614bb00b91ad53e79a0b  gcc/cp/mapper-client.cc
  27465babcaf6195d4f438ed36bdd6aff  gcc/cp/mapper-client.h
  4be7487ea09330ba02fb0695bc32c905  gcc/cp/mapper-resolver.cc
! acc5732b886d522f7c4a9362587d7c8c  gcc/cp/metafns.gperf
! f3f2070329f6fd771c8e7610a97b8153  gcc/cp/metafns.h
  99dcd5706d056d3c446e2d90d8060632  gcc/cp/method.cc
  7461d63cc03067885d58c224b25bb8d7  gcc/cp/module.cc
! f749adc56a07245bc4882810bd47eb67  gcc/cp/name-lookup.cc
  00ce2aa60b041d84cd6cdcd75cb30271  gcc/cp/name-lookup.h
  b98d31c57aa038618db60991b17e0d35  gcc/cp/operators.def
  9efebf39da56d681d4405dfb9e55e3f5  gcc/cp/optimize.cc
! c960df735a91d1b69cab3b2ab6c9d81f  gcc/cp/parser.cc
  7973a34c47e3d3c580832655a3a5c3c2  gcc/cp/parser.h
  e1d4b6e8dc1b80d20ae7efe8767d5e39  gcc/cp/pt.cc
  25322928eaff39cf167372554c639e02  gcc/cp/ptree.cc
! 0f6dcc8e298669a0e1edb5604061ca65  gcc/cp/reflect.cc
  97df067b24bdcb46ea1a2ca984c26a33  gcc/cp/rtti.cc
  b9408f726725803049cb0278946364b9  gcc/cp/search.cc
! b3183b4523c689aff807e374dac1bf52  gcc/cp/semantics.cc
  64c36b2ea66c9f8f477b19d24e06a2cb  gcc/cp/std-name-hint.gperf
  15cc409f13a8952feb90e94d99ecefa2  gcc/cp/std-name-hint.h
! e2dc2cb2e5e3a1e73fd5caf42e783a11  gcc/cp/tree.cc
  01e9a381e6fcf3d016d0170ee0ad71d7  gcc/cp/type-utils.h
  50b170b21816f19193b526b58ae3550c  gcc/cp/typeck.cc
  fa2059a62914b51814221a48ce5dec3a  gcc/cp/typeck2.cc
*************** eeea3b14555b59750c75e77bbe0d3a92  gcc/di
*** 6036,6042 ****
  8c7055aac1299f5f574425eee2db8b47  gcc/diagnostics/color.h
  5ac83d2dfc5d36068774e6b0db97fe99  gcc/diagnostics/column-options.h
  c24d31606e2ffad5682f296df5984f2e  gcc/diagnostics/context-options.h
! f584431e38462221e967ecf0720995c4  gcc/diagnostics/context.cc
  5db1f9f867b070ee57ed5b3485a5f0e8  gcc/diagnostics/context.h
  e1fa17399b3b1f7a6bc15780030e2511  gcc/diagnostics/counters.h
  376ff2cb14bc9c31771a3a37ddceb73f  gcc/diagnostics/diagnostic-info.h
--- 6037,6043 ----
  8c7055aac1299f5f574425eee2db8b47  gcc/diagnostics/color.h
  5ac83d2dfc5d36068774e6b0db97fe99  gcc/diagnostics/column-options.h
  c24d31606e2ffad5682f296df5984f2e  gcc/diagnostics/context-options.h
! aa0f4f3ae593e38a0b17bf0bbbb25840  gcc/diagnostics/context.cc
  5db1f9f867b070ee57ed5b3485a5f0e8  gcc/diagnostics/context.h
  e1fa17399b3b1f7a6bc15780030e2511  gcc/diagnostics/counters.h
  376ff2cb14bc9c31771a3a37ddceb73f  gcc/diagnostics/diagnostic-info.h
*************** b8034736dae3f6d654eba555f64e1c26  gcc/di
*** 6072,6078 ****
  4312bfb6416bc572f489d4f88120fcba  gcc/diagnostics/output-file.h
  779a17b4c80cd59e103fc9fc8857c39a  gcc/diagnostics/output-spec.cc
  4efa05230b340a362200662a0a82704d  gcc/diagnostics/output-spec.h
! 13efa2f78c66bfa725929ba67c1381df  gcc/diagnostics/paths-output.cc
  35957f691aa90b1f7b9f489e7da9e720  gcc/diagnostics/paths.cc
  91f77747402437b068da1e7be934adec  gcc/diagnostics/paths.h
  2479027b9f98ea12bda061b9e46be43c  gcc/diagnostics/sarif-sink.cc
--- 6073,6079 ----
  4312bfb6416bc572f489d4f88120fcba  gcc/diagnostics/output-file.h
  779a17b4c80cd59e103fc9fc8857c39a  gcc/diagnostics/output-spec.cc
  4efa05230b340a362200662a0a82704d  gcc/diagnostics/output-spec.h
! 009ecd89188fdd51b7313ff581575aa3  gcc/diagnostics/paths-output.cc
  35957f691aa90b1f7b9f489e7da9e720  gcc/diagnostics/paths.cc
  91f77747402437b068da1e7be934adec  gcc/diagnostics/paths.h
  2479027b9f98ea12bda061b9e46be43c  gcc/diagnostics/sarif-sink.cc
*************** fe1e57cdb00aa5c5d132ea01fc2e1440  gcc/do
*** 6106,6117 ****
  0e05717a84a4459f53d155243f6ca0b5  gcc/doc/contrib.texi
  43c75b80852d2080f354a4ea82a17119  gcc/doc/contribute.texi
  68c69bad85c1838df5c6d83463b871a7  gcc/doc/cpp.texi
! 0c5def42fa6c1d5a8b06ce969952197e  gcc/doc/cppdiropts.texi
  ee65c9e3e7c3fb1fd0128c23f4130e51  gcc/doc/cppenv.texi
  301ed7e567732d1f0d5899a624068bdd  gcc/doc/cppinternals.texi
! 83be088f2c39877aca4c1c22345a4626  gcc/doc/cppopts.texi
! a81171f3f74292eb0bfae02a153da3b1  gcc/doc/cppwarnopts.texi
! cca0c31e607254535ee4e617ed7fabdb  gcc/doc/extend.texi
  483a7b956113f0370528460e842ff7b0  gcc/doc/fragments.texi
  7fb1e4199b2e70228fda69b8065d83c4  gcc/doc/frontends.texi
  23b032ef72e5208469d1a736f460b6a1  gcc/doc/gcc.texi
--- 6107,6118 ----
  0e05717a84a4459f53d155243f6ca0b5  gcc/doc/contrib.texi
  43c75b80852d2080f354a4ea82a17119  gcc/doc/contribute.texi
  68c69bad85c1838df5c6d83463b871a7  gcc/doc/cpp.texi
! a0c8079a0b836c78e78f046d38b8eeff  gcc/doc/cppdiropts.texi
  ee65c9e3e7c3fb1fd0128c23f4130e51  gcc/doc/cppenv.texi
  301ed7e567732d1f0d5899a624068bdd  gcc/doc/cppinternals.texi
! b0cd5e1000a4e1467a9880e1d1f46201  gcc/doc/cppopts.texi
! d8b2becdc7d9c570f256e19e1b1ac4f1  gcc/doc/cppwarnopts.texi
! 7ac3d1e8a038e626920fc57d38067ffc  gcc/doc/extend.texi
  483a7b956113f0370528460e842ff7b0  gcc/doc/fragments.texi
  7fb1e4199b2e70228fda69b8065d83c4  gcc/doc/frontends.texi
  23b032ef72e5208469d1a736f460b6a1  gcc/doc/gcc.texi
*************** f47d236d7ee7e48319a13461771035d6  gcc/do
*** 6133,6141 ****
  37d898a82683588b62cca104098ad182  gcc/doc/include/gcc-common.texi
  95c90bf85d3eab67f348ee3ce0bf4050  gcc/doc/include/gpl_v3.texi
  e9b8122841fbfbbc30fee8ed6613c399  gcc/doc/include/texinfo.tex
! 56c2841adbededa23954430aa287e021  gcc/doc/install.texi
  30a2209eee0a2bed76e2d9ff3bd646f2  gcc/doc/install.texi2html
! 9427c7e3c64390a6259b2c1521f3ffb5  gcc/doc/invoke.texi
  dd9d4097ebfa9e936c41913343807268  gcc/doc/languages.texi
  46d2bbbd37002bb71569d0b1f27d7a5a  gcc/doc/libgcc.texi
  ef4f00c423089323edef1d3cff31a4a2  gcc/doc/libgdiagnostics/Makefile
--- 6134,6142 ----
  37d898a82683588b62cca104098ad182  gcc/doc/include/gcc-common.texi
  95c90bf85d3eab67f348ee3ce0bf4050  gcc/doc/include/gpl_v3.texi
  e9b8122841fbfbbc30fee8ed6613c399  gcc/doc/include/texinfo.tex
! 43a94bf43af0cd42fbd49fef38eb7281  gcc/doc/install.texi
  30a2209eee0a2bed76e2d9ff3bd646f2  gcc/doc/install.texi2html
! 306fe9678c49e4784b9d7d7393a844ef  gcc/doc/invoke.texi
  dd9d4097ebfa9e936c41913343807268  gcc/doc/languages.texi
  46d2bbbd37002bb71569d0b1f27d7a5a  gcc/doc/libgcc.texi
  ef4f00c423089323edef1d3cff31a4a2  gcc/doc/libgdiagnostics/Makefile
*************** e3b758ef604b48f000fb865e38253381  gcc/ex
*** 6229,6235 ****
  9542db78094e70fd18442ce8a2b02264  gcc/explow.h
  82a6eed405414fee082896bb6a2bd1c6  gcc/expmed.cc
  2431f17e1f416ef0b9c38b1b975942a4  gcc/expmed.h
! 542ba8c9d43cc7d3452c40b023977434  gcc/expr.cc
  07d490719ee3fa697cd70f3f98183258  gcc/expr.h
  8cca7ee32636f4556dceffe46dc6c948  gcc/ext-dce.cc
  8ca3dbbcb4ffeb7bd2c8f46140869732  gcc/fibonacci_heap.cc
--- 6230,6236 ----
  9542db78094e70fd18442ce8a2b02264  gcc/explow.h
  82a6eed405414fee082896bb6a2bd1c6  gcc/expmed.cc
  2431f17e1f416ef0b9c38b1b975942a4  gcc/expmed.h
! c77110590041bc80265788ebd055a4a5  gcc/expr.cc
  07d490719ee3fa697cd70f3f98183258  gcc/expr.h
  8cca7ee32636f4556dceffe46dc6c948  gcc/ext-dce.cc
  8ca3dbbcb4ffeb7bd2c8f46140869732  gcc/fibonacci_heap.cc
*************** f80b38c70a85f9aeae9688b937b028ba  gcc/fi
*** 6241,6254 ****
  b496da8a4db3486ee4537b0d55944601  gcc/final.cc
  3f5e6ac132421f17c9c8232626731e46  gcc/fixed-value.cc
  1caa253d024b0e3dcf3e6ba5ca8eeab1  gcc/fixed-value.h
! b7acc1416256e60e8eadae80487e48b4  gcc/flag-types.h
  85741de0b8ea9e109ee1355d60bfd397  gcc/flags.h
! c9b372f2374febdee268840281f4cb66  gcc/fold-const-call.cc
  0b4405bca4b699887c6a47e1d25b216c  gcc/fold-const-call.h
  ace0b2d15eb6248a41cc2e3bad22b35d  gcc/fold-const.cc
  0ec02a37dbbe9cb267f0ea1263085ed3  gcc/fold-const.h
  764b231c53a63f6a622c187ac0d381d0  gcc/fold-mem-offsets.cc
! 34cc2a28d84aa0f290109570e4795cf5  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
--- 6242,6255 ----
  b496da8a4db3486ee4537b0d55944601  gcc/final.cc
  3f5e6ac132421f17c9c8232626731e46  gcc/fixed-value.cc
  1caa253d024b0e3dcf3e6ba5ca8eeab1  gcc/fixed-value.h
! 57d536e4a123ac5161bf8eae17154030  gcc/flag-types.h
  85741de0b8ea9e109ee1355d60bfd397  gcc/flags.h
! 28f732db1eb82dab6b7ec80c73614d44  gcc/fold-const-call.cc
  0b4405bca4b699887c6a47e1d25b216c  gcc/fold-const-call.h
  ace0b2d15eb6248a41cc2e3bad22b35d  gcc/fold-const.cc
  0ec02a37dbbe9cb267f0ea1263085ed3  gcc/fold-const.h
  764b231c53a63f6a622c187ac0d381d0  gcc/fold-mem-offsets.cc
! cd2063210a8ec8b4661e1378c8c68e5b  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
*************** edad5176d72953374d67effefef0a605  gcc/fo
*** 6290,6296 ****
  48e7987762051d8cf68633af2633e50f  gcc/fortran/cpp.h
  213bc611adee1d275a412b3ed4886e79  gcc/fortran/data.cc
  ac7321680382b23989a6637e02dfb80e  gcc/fortran/data.h
! fce6d9fd438656556bd5a852e81a0fea  gcc/fortran/decl.cc
  26f9d3cd778f806f891b1ae70cad3305  gcc/fortran/dependency.cc
  b66b99368e3cd17573ae64a38e36c1de  gcc/fortran/dependency.h
  fe0fcd93ad74f370b736a7f318964506  gcc/fortran/dump-parse-tree.cc
--- 6291,6297 ----
  48e7987762051d8cf68633af2633e50f  gcc/fortran/cpp.h
  213bc611adee1d275a412b3ed4886e79  gcc/fortran/data.cc
  ac7321680382b23989a6637e02dfb80e  gcc/fortran/data.h
! 6ea86fd5ac2458add9f2e44a04d14812  gcc/fortran/decl.cc
  26f9d3cd778f806f891b1ae70cad3305  gcc/fortran/dependency.cc
  b66b99368e3cd17573ae64a38e36c1de  gcc/fortran/dependency.h
  fe0fcd93ad74f370b736a7f318964506  gcc/fortran/dump-parse-tree.cc
*************** c393d50c88b7e4359760b320a2b2717d  gcc/fo
*** 6315,6321 ****
  e5c0565c05cf7375c9978273f2e553e7  gcc/fortran/iso-fortran-env.def
  20a111338bfdbe210a5826e590844f81  gcc/fortran/lang-specs.h
  6c8e23a76ef7d1e3480d2026a438a31e  gcc/fortran/lang.opt
! 1c6e75eaf5edfd00fe61a2b90514002a  gcc/fortran/lang.opt.urls
  c35102e7caaf40998fe2ead86d2716da  gcc/fortran/libgfortran.h
  5edc42defe24b51e8d8db3edd2531f28  gcc/fortran/match.cc
  f7735c64af748cdef5caffae58a94749  gcc/fortran/match.h
--- 6316,6322 ----
  e5c0565c05cf7375c9978273f2e553e7  gcc/fortran/iso-fortran-env.def
  20a111338bfdbe210a5826e590844f81  gcc/fortran/lang-specs.h
  6c8e23a76ef7d1e3480d2026a438a31e  gcc/fortran/lang.opt
! 8eb4c394776b2993c2ab25a45606b835  gcc/fortran/lang.opt.urls
  c35102e7caaf40998fe2ead86d2716da  gcc/fortran/libgfortran.h
  5edc42defe24b51e8d8db3edd2531f28  gcc/fortran/match.cc
  f7735c64af748cdef5caffae58a94749  gcc/fortran/match.h
*************** d92b6f7feff3882a660f0f7c2c60b7b0  gcc/fo
*** 6350,6356 ****
  6fbc90714f9730e84515bbaadff313f9  gcc/fortran/trans-stmt.h
  b085053149417a1fab0b7f73dfcf1202  gcc/fortran/trans-types.cc
  6b00c9b76b80a96feb87d86b4b06102b  gcc/fortran/trans-types.h
! 0088571d54556e8d2955444602da9d5c  gcc/fortran/trans.cc
  e56083fc2c4890d3e4802c5a64dd00f5  gcc/fortran/trans.h
  95f35aeb3293f3036414b45c9c749d61  gcc/fortran/trigd_fe.inc
  57ebe36e9e77bcb8eab87809d044e0f1  gcc/fortran/types.def
--- 6351,6357 ----
  6fbc90714f9730e84515bbaadff313f9  gcc/fortran/trans-stmt.h
  b085053149417a1fab0b7f73dfcf1202  gcc/fortran/trans-types.cc
  6b00c9b76b80a96feb87d86b4b06102b  gcc/fortran/trans-types.h
! 91ee4c9dbcce0115a4780015fb117304  gcc/fortran/trans.cc
  e56083fc2c4890d3e4802c5a64dd00f5  gcc/fortran/trans.h
  95f35aeb3293f3036414b45c9c749d61  gcc/fortran/trigd_fe.inc
  57ebe36e9e77bcb8eab87809d044e0f1  gcc/fortran/types.def
*************** de4a5ffc62d7e4741e33ab2ab501e601  gcc/ge
*** 6413,6419 ****
  5dcb84f47353d03891373394fd1d8ecf  gcc/gengtype.cc
  337148b052ea38466fcac0655bce7ffa  gcc/gengtype.h
  7e9bc10948cd198b2cefa5f28d9dc7a9  gcc/genhooks.cc
! 7bd69164c38fd9a547f67c05ebccf220  gcc/genmatch.cc
  e4047cfabe80236af3ae74f11e2d60c6  gcc/genmddeps.cc
  07e47d3b20e79c811a134c66e6706df2  gcc/genmddump.cc
  f12cb23213547a0e97f979845e36473a  gcc/genmodes.cc
--- 6414,6420 ----
  5dcb84f47353d03891373394fd1d8ecf  gcc/gengtype.cc
  337148b052ea38466fcac0655bce7ffa  gcc/gengtype.h
  7e9bc10948cd198b2cefa5f28d9dc7a9  gcc/genhooks.cc
! 9590a53201abdb9f72cef6d94a05db8e  gcc/genmatch.cc
  e4047cfabe80236af3ae74f11e2d60c6  gcc/genmddeps.cc
  07e47d3b20e79c811a134c66e6706df2  gcc/genmddump.cc
  f12cb23213547a0e97f979845e36473a  gcc/genmodes.cc
*************** e8ef831ecab58724c781ef6c239eb959  gcc/gi
*** 6440,6446 ****
  c786a045909d4b0717a3d5687e24dc62  gcc/gimple-crc-optimization.cc
  f444e5a2c655aa37338677354749ad83  gcc/gimple-expr.cc
  61721564f913cdbebe438f7c378b316e  gcc/gimple-expr.h
! c66e43863a2959f090fb3451bb2f4dc5  gcc/gimple-fold.cc
  d4285bef3fb661843b5d37c21e759c95  gcc/gimple-fold.h
  109e0f96a9d27a8a25bb73d61b701bbc  gcc/gimple-harden-conditionals.cc
  ebf0fc6c9a10c730d10710fdec206805  gcc/gimple-harden-control-flow.cc
--- 6441,6447 ----
  c786a045909d4b0717a3d5687e24dc62  gcc/gimple-crc-optimization.cc
  f444e5a2c655aa37338677354749ad83  gcc/gimple-expr.cc
  61721564f913cdbebe438f7c378b316e  gcc/gimple-expr.h
! 525585d55ec6ef3e4e4ea4e70a30cbd7  gcc/gimple-fold.cc
  d4285bef3fb661843b5d37c21e759c95  gcc/gimple-fold.h
  109e0f96a9d27a8a25bb73d61b701bbc  gcc/gimple-harden-conditionals.cc
  ebf0fc6c9a10c730d10710fdec206805  gcc/gimple-harden-control-flow.cc
*************** cdb2ce2b488734517babc7160c5009ae  gcc/gi
*** 6483,6489 ****
  a4932ff9aca9b1faf77d94e18d1a98dd  gcc/gimple-range-tests.cc
  6aea6dbdcfdbb9cc7eaba0885ef8339c  gcc/gimple-range-trace.cc
  e45cb6aa50c3ff1d1592d7f2758cb778  gcc/gimple-range-trace.h
! e9978341e5b2b9ef01ecff2c8af2b884  gcc/gimple-range.cc
  d7845f849ad3dd11fdee8ef672936b7e  gcc/gimple-range.h
  8a9bf24197a610cfba7953c1233dd5ef  gcc/gimple-ssa-backprop.cc
  eea2759af1703adad9975f6c60cb27bc  gcc/gimple-ssa-isolate-paths.cc
--- 6484,6490 ----
  a4932ff9aca9b1faf77d94e18d1a98dd  gcc/gimple-range-tests.cc
  6aea6dbdcfdbb9cc7eaba0885ef8339c  gcc/gimple-range-trace.cc
  e45cb6aa50c3ff1d1592d7f2758cb778  gcc/gimple-range-trace.h
! 02777a8ae49f72253e52431084e1cf91  gcc/gimple-range.cc
  d7845f849ad3dd11fdee8ef672936b7e  gcc/gimple-range.h
  8a9bf24197a610cfba7953c1233dd5ef  gcc/gimple-ssa-backprop.cc
  eea2759af1703adad9975f6c60cb27bc  gcc/gimple-ssa-isolate-paths.cc
*************** d29ad5283ef50f50d10619397e423ecf  gcc/gi
*** 6494,6500 ****
  7be48fef79411a4592494e787939e0b4  gcc/gimple-ssa-split-paths.cc
  07a1825b625d551acbb670a51ae45fb1  gcc/gimple-ssa-sprintf.cc
  b85bb37d7fc2e1e7d1969f5ecd96f9c1  gcc/gimple-ssa-store-merging.cc
! 429ccb8cb565a9d7bb4ef57248595530  gcc/gimple-ssa-strength-reduction.cc
  4c170b8d70c14c356d6e90c5e9198c0e  gcc/gimple-ssa-warn-access.cc
  987d7fb5fd1bb73e756015bb5e1074bd  gcc/gimple-ssa-warn-access.h
  f7b0197d94bcfef5acc93f20515d5a8f  gcc/gimple-ssa-warn-alloca.cc
--- 6495,6501 ----
  7be48fef79411a4592494e787939e0b4  gcc/gimple-ssa-split-paths.cc
  07a1825b625d551acbb670a51ae45fb1  gcc/gimple-ssa-sprintf.cc
  b85bb37d7fc2e1e7d1969f5ecd96f9c1  gcc/gimple-ssa-store-merging.cc
! 011e1d2608ac36840eebfd960ff5e949  gcc/gimple-ssa-strength-reduction.cc
  4c170b8d70c14c356d6e90c5e9198c0e  gcc/gimple-ssa-warn-access.cc
  987d7fb5fd1bb73e756015bb5e1074bd  gcc/gimple-ssa-warn-access.h
  f7b0197d94bcfef5acc93f20515d5a8f  gcc/gimple-ssa-warn-alloca.cc
*************** b4a116ba62ac3794dc989073ede9a6d7  gcc/gr
*** 6616,6622 ****
  2f6201c840b0701b37cfb25d21324a78  gcc/gsyms.h
  8585d36b3917e41144ca7ee8a6b5e065  gcc/gsyslimits.h
  053ee4a84e4593c88c088f25e153d1a5  gcc/gtm-builtins.def
! 712c5442ff0d22964db4f0f02cf46e68  gcc/haifa-sched.cc
  d8ef080a2b3ba3ee183a04862d435ab7  gcc/hard-reg-set.h
  9885346dec7f94219e6def782b8ddf11  gcc/hash-map-tests.cc
  73c233c79267f021897530f6dbbc1dce  gcc/hash-map-traits.h
--- 6617,6623 ----
  2f6201c840b0701b37cfb25d21324a78  gcc/gsyms.h
  8585d36b3917e41144ca7ee8a6b5e065  gcc/gsyslimits.h
  053ee4a84e4593c88c088f25e153d1a5  gcc/gtm-builtins.def
! f769699135084c7641b26c98f76142c7  gcc/haifa-sched.cc
  d8ef080a2b3ba3ee183a04862d435ab7  gcc/hard-reg-set.h
  9885346dec7f94219e6def782b8ddf11  gcc/hash-map-tests.cc
  73c233c79267f021897530f6dbbc1dce  gcc/hash-map-traits.h
*************** ba9e8a0870296fd0192e3595d9f582ef  gcc/ip
*** 6670,6676 ****
  22ead4e90306fe7616ffa86a26f913c8  gcc/ipa-inline-transform.cc
  2f02dd416750a80f367ba00a48a769cb  gcc/ipa-inline.cc
  4be9c78f2544b781ae0f89b60cd3dee0  gcc/ipa-inline.h
! 19c0cbbd70e071bd63dbb0527d02423e  gcc/ipa-locality-cloning.cc
  e1e331896b86db8a2281657bbb21ac72  gcc/ipa-locality-cloning.h
  ab5408f83da75ccf39cc1121f179dd4b  gcc/ipa-modref-tree.cc
  c546dc75ec27388fb7fe834c0aabd230  gcc/ipa-modref-tree.h
--- 6671,6677 ----
  22ead4e90306fe7616ffa86a26f913c8  gcc/ipa-inline-transform.cc
  2f02dd416750a80f367ba00a48a769cb  gcc/ipa-inline.cc
  4be9c78f2544b781ae0f89b60cd3dee0  gcc/ipa-inline.h
! 81ac9269ca4538a6d699c9371d6bd5b0  gcc/ipa-locality-cloning.cc
  e1e331896b86db8a2281657bbb21ac72  gcc/ipa-locality-cloning.h
  ab5408f83da75ccf39cc1121f179dd4b  gcc/ipa-modref-tree.cc
  c546dc75ec27388fb7fe834c0aabd230  gcc/ipa-modref-tree.h
*************** e05914fad6bd025e9b0679bc2b67e17f  gcc/lc
*** 6818,6824 ****
  6e8385e9139152e084f6b1dd67d946ac  gcc/libgdiagnostics.cc
  4d4d0cd8dcda7b7689febc6aa0b4dec9  gcc/libgdiagnostics.h
  a275aabf8e35245cb8dac2644db84e90  gcc/libgdiagnostics.map
! bd89ec8a68bdb203982fc6da2c5d352f  gcc/libsarifreplay.cc
  9dddaecb6e70b0ba0fe4f7070849aac8  gcc/libsarifreplay.h
  e19816bbba3b641b67df23200047c6ae  gcc/limitx.h
  83de5c6450456e215a5484083afcd32a  gcc/limity.h
--- 6819,6825 ----
  6e8385e9139152e084f6b1dd67d946ac  gcc/libgdiagnostics.cc
  4d4d0cd8dcda7b7689febc6aa0b4dec9  gcc/libgdiagnostics.h
  a275aabf8e35245cb8dac2644db84e90  gcc/libgdiagnostics.map
! e0d934deec984bb400ef13aab76f6b89  gcc/libsarifreplay.cc
  9dddaecb6e70b0ba0fe4f7070849aac8  gcc/libsarifreplay.h
  e19816bbba3b641b67df23200047c6ae  gcc/limitx.h
  83de5c6450456e215a5484083afcd32a  gcc/limity.h
*************** e0d99466f393722c3e10caf535614ff7  gcc/lt
*** 6882,6888 ****
  351e06833ea0ad58238533d76ea0c2cf  gcc/m2/COPYING.RUNTIME
  8f0e2cd40e05189ec81232da84bd6e1a  gcc/m2/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/m2/COPYING3.LIB
! 7308013b9b43d9126cd1ec5b33edb1c8  gcc/m2/ChangeLog
  3be37de9095aa710a8531df456be6d24  gcc/m2/Make-lang.in
  ed6143d60ab8fbfb423b65ba791d1faf  gcc/m2/Make-maintainer.in
  6a74129fda00ca52ba9f953538250c45  gcc/m2/NEWS
--- 6883,6889 ----
  351e06833ea0ad58238533d76ea0c2cf  gcc/m2/COPYING.RUNTIME
  8f0e2cd40e05189ec81232da84bd6e1a  gcc/m2/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/m2/COPYING3.LIB
! f6b4ffad573dedd5e80dcc9617043f8b  gcc/m2/ChangeLog
  3be37de9095aa710a8531df456be6d24  gcc/m2/Make-lang.in
  ed6143d60ab8fbfb423b65ba791d1faf  gcc/m2/Make-maintainer.in
  6a74129fda00ca52ba9f953538250c45  gcc/m2/NEWS
*************** d02bb7b852c2149c474702f929b72f2d  gcc/m2
*** 7498,7505 ****
  6d76bbc93610f14449002a1650c5299c  gcc/m2/init/mcinit
  aa3cc943e6f7954791f5b105b32ef4d5  gcc/m2/init/ppginit
  a346210964407569ed13816c0f8cecb4  gcc/m2/lang-specs.h
! 5da1dde4a3138337a980a871963a8580  gcc/m2/lang.opt
! f1cb7df91bad432be7eee94558b6a5b1  gcc/m2/lang.opt.urls
  1491e1562c74319dc4f16b5081fceb75  gcc/m2/m2-tree.def
  7eee071d249db10c1c1c87c311f85922  gcc/m2/m2-tree.h
  76fb37f307e4b61a8539914bf711d861  gcc/m2/m2.flex
--- 7499,7506 ----
  6d76bbc93610f14449002a1650c5299c  gcc/m2/init/mcinit
  aa3cc943e6f7954791f5b105b32ef4d5  gcc/m2/init/ppginit
  a346210964407569ed13816c0f8cecb4  gcc/m2/lang-specs.h
! 882bbc145958ff2a636c6c4967efe92a  gcc/m2/lang.opt
! f2d53f7fa157e26bd2d7e692f21603ff  gcc/m2/lang.opt.urls
  1491e1562c74319dc4f16b5081fceb75  gcc/m2/m2-tree.def
  7eee071d249db10c1c1c87c311f85922  gcc/m2/m2-tree.h
  76fb37f307e4b61a8539914bf711d861  gcc/m2/m2.flex
*************** f9608e9005487c369e6c38949ab36fa1  gcc/m2
*** 7857,7863 ****
  2a18164ee5f162ac117e6fedb58158a2  gcc/machmode.def
  0c9209452a934f189aa0860038b3a65c  gcc/machmode.h
  197298337dae14fdd7ab928a1f03bec6  gcc/main.cc
! ab4045f3e8ba086d64007e166964500b  gcc/match.pd
  b106a08a1793a5495dd87c412456484b  gcc/mcf.cc
  897c541ca992e145ad451c98941c7647  gcc/mem-stats-traits.h
  4f86eeea7af520ce0b773c1f2e34b5b4  gcc/mem-stats.h
--- 7858,7864 ----
  2a18164ee5f162ac117e6fedb58158a2  gcc/machmode.def
  0c9209452a934f189aa0860038b3a65c  gcc/machmode.h
  197298337dae14fdd7ab928a1f03bec6  gcc/main.cc
! da5f44b4c3de72e4508b4fa11f21f37f  gcc/match.pd
  b106a08a1793a5495dd87c412456484b  gcc/mcf.cc
  897c541ca992e145ad451c98941c7647  gcc/mem-stats-traits.h
  4f86eeea7af520ce0b773c1f2e34b5b4  gcc/mem-stats.h
*************** fef443de1557117f8c2847206a2ea8f5  gcc/or
*** 7949,7955 ****
  7c8d7dc194f39f5b8c69d7f0d05bc335  gcc/output.h
  5f96d548f10507478f5096f298505278  gcc/pair-fusion.cc
  69198894caa672a2294267474e494d8b  gcc/pair-fusion.h
! 00ac12ab399aee55d3dbe0bfd241cfc1  gcc/params.opt
  2cc794e23d80a8c9f057a7e402c65fb8  gcc/params.opt.urls
  ce920ed7f2cc74b4a9bc390c39f4cbee  gcc/pass_manager.h
  1780eb05a432e44c4898abd2e995a024  gcc/passes.cc
--- 7950,7956 ----
  7c8d7dc194f39f5b8c69d7f0d05bc335  gcc/output.h
  5f96d548f10507478f5096f298505278  gcc/pair-fusion.cc
  69198894caa672a2294267474e494d8b  gcc/pair-fusion.h
! abbac2785af7dbd8bbe67350b020336c  gcc/params.opt
  2cc794e23d80a8c9f057a7e402c65fb8  gcc/params.opt.urls
  ce920ed7f2cc74b4a9bc390c39f4cbee  gcc/pass_manager.h
  1780eb05a432e44c4898abd2e995a024  gcc/passes.cc
*************** b2f9b18f946c2e60e4f6cba0ab2df54e  gcc/pe
*** 7960,7972 ****
  5d25ac31d9e5d9515931b16e9f7339f7  gcc/plugin.cc
  af6268dd53154434eb4c4d1c299e0ee2  gcc/plugin.def
  5678cfbc9cf98f9e69bee1118c787a42  gcc/plugin.h
! cb1affc9123124adfc25773e93cb9c36  gcc/po/ChangeLog
  2c2fbc71d2acc1ddfb9fb9501458921b  gcc/po/EXCLUDES
  276b0e994306e3cdb1f62b8de38fa0e9  gcc/po/be.po
  4ce8480a8ed1c6ea96dcee25f16b5030  gcc/po/da.po
  537e98eeb67896ac57d739aeffc9d95c  gcc/po/de.po
  fb211887132af72dd424dd2b31d66047  gcc/po/el.po
! 1a807030189d04181da59ac4265acc1d  gcc/po/es.po
  7a6d51f7527e21e20156259c98cac705  gcc/po/exgettext
  6bc994ac2cef495e886c17a200067ac8  gcc/po/fi.po
  31fd60289038e7a7968d397f5a4d299f  gcc/po/fr.po
--- 7961,7973 ----
  5d25ac31d9e5d9515931b16e9f7339f7  gcc/plugin.cc
  af6268dd53154434eb4c4d1c299e0ee2  gcc/plugin.def
  5678cfbc9cf98f9e69bee1118c787a42  gcc/plugin.h
! bf8786f6f2a6bf20c25e28ce3ad9e849  gcc/po/ChangeLog
  2c2fbc71d2acc1ddfb9fb9501458921b  gcc/po/EXCLUDES
  276b0e994306e3cdb1f62b8de38fa0e9  gcc/po/be.po
  4ce8480a8ed1c6ea96dcee25f16b5030  gcc/po/da.po
  537e98eeb67896ac57d739aeffc9d95c  gcc/po/de.po
  fb211887132af72dd424dd2b31d66047  gcc/po/el.po
! 9b7ec42387221cb5eb618030df69c379  gcc/po/es.po
  7a6d51f7527e21e20156259c98cac705  gcc/po/exgettext
  6bc994ac2cef495e886c17a200067ac8  gcc/po/fi.po
  31fd60289038e7a7968d397f5a4d299f  gcc/po/fr.po
*************** ff662645190de703b9423727e52d659c  gcc/rt
*** 8090,8096 ****
  92e356710b1aae5aaabc8f47d6977fff  gcc/run-rtl-passes.cc
  f4eae48a3e90b34e88b5789e54f5f29a  gcc/run-rtl-passes.h
  add9bd82fcec23469a4d0f7df03d9589  gcc/rust/CONTRIBUTING.md
! 650dab2be8e7cbab328dfb2a58df47fe  gcc/rust/ChangeLog
  89327dc2e4ee3db867f710bb5ba2bcd7  gcc/rust/Make-lang.in
  f3527e161e6e2827d299c1a928ebe1c6  gcc/rust/README.md
  8579ce4df2aa8500c0a48f4cf0765b2c  gcc/rust/ast/rust-ast-builder.cc
--- 8091,8097 ----
  92e356710b1aae5aaabc8f47d6977fff  gcc/run-rtl-passes.cc
  f4eae48a3e90b34e88b5789e54f5f29a  gcc/run-rtl-passes.h
  add9bd82fcec23469a4d0f7df03d9589  gcc/rust/CONTRIBUTING.md
! 06e6eb13febc51566b7b2dc4c9bbfa60  gcc/rust/ChangeLog
  89327dc2e4ee3db867f710bb5ba2bcd7  gcc/rust/Make-lang.in
  f3527e161e6e2827d299c1a928ebe1c6  gcc/rust/README.md
  8579ce4df2aa8500c0a48f4cf0765b2c  gcc/rust/ast/rust-ast-builder.cc
*************** ec54250775efe40c60973c75aa15aa8c  gcc/ru
*** 8419,8425 ****
  d07a3a5f5b9d7004ca327b9c691c2427  gcc/rust/hir/tree/rust-hir.cc
  740a251c7a11b6b3d56b5a01f9912174  gcc/rust/hir/tree/rust-hir.h
  f357dcf5713381e22c7036dfc40716f1  gcc/rust/lang-specs.h
! 143e38307d731778484b18ab2291c687  gcc/rust/lang.opt
  a11b51758cadbfbc20e4c2969af1aa85  gcc/rust/lang.opt.urls
  37d2c9999aa0dbb0df068a1ae29137fa  gcc/rust/lex/rust-input-source.h
  c8c9a34bc197902d6bf286688182a696  gcc/rust/lex/rust-lex.cc
--- 8420,8426 ----
  d07a3a5f5b9d7004ca327b9c691c2427  gcc/rust/hir/tree/rust-hir.cc
  740a251c7a11b6b3d56b5a01f9912174  gcc/rust/hir/tree/rust-hir.h
  f357dcf5713381e22c7036dfc40716f1  gcc/rust/lang-specs.h
! 18a3272e7898441ff4f8449bc43803e1  gcc/rust/lang.opt
  a11b51758cadbfbc20e4c2969af1aa85  gcc/rust/lang.opt.urls
  37d2c9999aa0dbb0df068a1ae29137fa  gcc/rust/lex/rust-input-source.h
  c8c9a34bc197902d6bf286688182a696  gcc/rust/lex/rust-lex.cc
*************** c5e97158cfb2af3204a5d8562aefaf85  gcc/sh
*** 8632,8638 ****
  3f3d94e6f52cc07f64e195e1a75dc485  gcc/signop.h
  b4c90fe064bba484ce5c18adb1a9e544  gcc/simple-diagnostic-path.cc
  7affe31db6f7cb9c7fc77937feef0758  gcc/simple-diagnostic-path.h
! c5e9c8b9a25d10dc3d042dd20d5ec3c1  gcc/simplify-rtx.cc
  d1aec926a9488869692e8fe2f61ca75f  gcc/sort.cc
  7daa38cb1d09a2f88958f00a965d40a1  gcc/sparseset.cc
  3883b6ff1845dcec7b2822124018ab05  gcc/sparseset.h
--- 8633,8639 ----
  3f3d94e6f52cc07f64e195e1a75dc485  gcc/signop.h
  b4c90fe064bba484ce5c18adb1a9e544  gcc/simple-diagnostic-path.cc
  7affe31db6f7cb9c7fc77937feef0758  gcc/simple-diagnostic-path.h
! 33e945d00fc1747c20a290475f31077e  gcc/simplify-rtx.cc
  d1aec926a9488869692e8fe2f61ca75f  gcc/sort.cc
  7daa38cb1d09a2f88958f00a965d40a1  gcc/sparseset.cc
  3883b6ff1845dcec7b2822124018ab05  gcc/sparseset.h
*************** b21c32de4ac41afaa112df92995fbc7b  gcc/ta
*** 8686,8692 ****
  8125dc2ec6773b874996579f2c7a5a45  gcc/targhooks.cc
  407bffe68a928437a42d3979f89d8c46  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 97473fd14af1c0a540725cf0db2b8cca  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
--- 8687,8693 ----
  8125dc2ec6773b874996579f2c7a5a45  gcc/targhooks.cc
  407bffe68a928437a42d3979f89d8c46  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 2493853853f00c4e8df9535d51eb8c4c  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
*************** f7d448f4e3ebaacd99f950c9cf7f97d5  gcc/te
*** 17534,17540 ****
  c7246874a77abbb3a97cf9097645afd6  gcc/testsuite/algol68/execute/posix-strerror-1.a68
  f586445784f51d44c1177d8b4e0646aa  gcc/testsuite/algol68/execute/posix-stride-1.a68
  87d4bc9531459a7bbd123ce018a50096  gcc/testsuite/algol68/execute/pow-int-1.a68
! 66bebd007439cc8f781a8a72edf48987  gcc/testsuite/algol68/execute/pow-real-1.a68
  9af388cb88078b2860ff1899f7d57255  gcc/testsuite/algol68/execute/proc-1.a68
  7310633af0732fcb4a0ceafba216111b  gcc/testsuite/algol68/execute/proc-10.a68
  f946676ba330436b799799f8c749d29f  gcc/testsuite/algol68/execute/proc-12.a68
--- 17535,17541 ----
  c7246874a77abbb3a97cf9097645afd6  gcc/testsuite/algol68/execute/posix-strerror-1.a68
  f586445784f51d44c1177d8b4e0646aa  gcc/testsuite/algol68/execute/posix-stride-1.a68
  87d4bc9531459a7bbd123ce018a50096  gcc/testsuite/algol68/execute/pow-int-1.a68
! 553a8f06543a205e49fc44d50bdaf72d  gcc/testsuite/algol68/execute/pow-real-1.a68
  9af388cb88078b2860ff1899f7d57255  gcc/testsuite/algol68/execute/proc-1.a68
  7310633af0732fcb4a0ceafba216111b  gcc/testsuite/algol68/execute/proc-10.a68
  f946676ba330436b799799f8c749d29f  gcc/testsuite/algol68/execute/proc-12.a68
*************** d0f7bb2477c7399d9c787d2e1891f0a6  gcc/te
*** 18021,18026 ****
--- 18022,18029 ----
  ca39a9bcc32da0de969872e39eec2dcb  gcc/testsuite/c-c++-common/analyzer/aliasing-1.c
  21ccef1b042617794f28392a02c47c2e  gcc/testsuite/c-c++-common/analyzer/aliasing-2.c
  9083091e04f47ca9db656daa48ead504  gcc/testsuite/c-c++-common/analyzer/aliasing-3.c
+ 0390cc62563a542c5ef5973eded16e34  gcc/testsuite/c-c++-common/analyzer/aliasing-4.c
+ 4e89495ae1e67655fed21fc88491d5f5  gcc/testsuite/c-c++-common/analyzer/aliasing-5.c
  0a67c74034de469201b9301aa31e9b46  gcc/testsuite/c-c++-common/analyzer/aliasing-pr106473.c
  44e54cc913f508aa4bbbb825465bcd70  gcc/testsuite/c-c++-common/analyzer/alloca-leak.c
  f5daaa51309a09590684e189ca5cef39  gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c
*************** e8f2ac5a2eaf583345c763651947c9b5  gcc/te
*** 18169,18175 ****
  a54c5604b047a4dc1ca40c729785be0b  gcc/testsuite/c-c++-common/analyzer/first-field-1.c
  bdefb38ec06fb2e8a965770a1ddea724  gcc/testsuite/c-c++-common/analyzer/first-field-2.c
  b8afac2235f0cb3ddf49379207ffb33f  gcc/testsuite/c-c++-common/analyzer/flex-with-call-summaries.c
! 85fe5d5ba49e6a9acd43bb251c13960c  gcc/testsuite/c-c++-common/analyzer/flex-without-call-summaries.c
  28949d2a04a0d181e2013c7f210560c6  gcc/testsuite/c-c++-common/analyzer/flexible-array-member-1.c
  3a1490518625a0c947e5b6ac2c5401eb  gcc/testsuite/c-c++-common/analyzer/fold-string-to-char.c
  3ca6537a697cd0e749a07d45d59ad24d  gcc/testsuite/c-c++-common/analyzer/fopen-2.c
--- 18172,18178 ----
  a54c5604b047a4dc1ca40c729785be0b  gcc/testsuite/c-c++-common/analyzer/first-field-1.c
  bdefb38ec06fb2e8a965770a1ddea724  gcc/testsuite/c-c++-common/analyzer/first-field-2.c
  b8afac2235f0cb3ddf49379207ffb33f  gcc/testsuite/c-c++-common/analyzer/flex-with-call-summaries.c
! ec1f7f84cd3c696e2def72daeb4cd58d  gcc/testsuite/c-c++-common/analyzer/flex-without-call-summaries.c
  28949d2a04a0d181e2013c7f210560c6  gcc/testsuite/c-c++-common/analyzer/flexible-array-member-1.c
  3a1490518625a0c947e5b6ac2c5401eb  gcc/testsuite/c-c++-common/analyzer/fold-string-to-char.c
  3ca6537a697cd0e749a07d45d59ad24d  gcc/testsuite/c-c++-common/analyzer/fopen-2.c
*************** e7ec58c8488f858c6b9c88105194899a  gcc/te
*** 18477,18483 ****
  997c97dd61ef110d7d5db435db020682  gcc/testsuite/c-c++-common/analyzer/pragma-2.c
  9430d0208459224bc903d37da0409ad1  gcc/testsuite/c-c++-common/analyzer/ptr-subtraction-1.c
  02794dd36e015d38e92b34ce4f665725  gcc/testsuite/c-c++-common/analyzer/ptr-subtraction-CWE-469-example.c
! b9dec47fd31ee45dd878530b5a551978  gcc/testsuite/c-c++-common/analyzer/raw-data-cst-pr117262-1.c
  86f639ec8d0b8277d748c42c89e3cd35  gcc/testsuite/c-c++-common/analyzer/raw-data-cst-pr117262-2.c
  ed19bd6035c229c80a63f4ee4d655992  gcc/testsuite/c-c++-common/analyzer/realloc-1.c
  9934b5785f041976924e22e94abcc411  gcc/testsuite/c-c++-common/analyzer/realloc-2.c
--- 18480,18486 ----
  997c97dd61ef110d7d5db435db020682  gcc/testsuite/c-c++-common/analyzer/pragma-2.c
  9430d0208459224bc903d37da0409ad1  gcc/testsuite/c-c++-common/analyzer/ptr-subtraction-1.c
  02794dd36e015d38e92b34ce4f665725  gcc/testsuite/c-c++-common/analyzer/ptr-subtraction-CWE-469-example.c
! 30de4cdd701224f68022d2999b05915c  gcc/testsuite/c-c++-common/analyzer/raw-data-cst-pr117262-1.c
  86f639ec8d0b8277d748c42c89e3cd35  gcc/testsuite/c-c++-common/analyzer/raw-data-cst-pr117262-2.c
  ed19bd6035c229c80a63f4ee4d655992  gcc/testsuite/c-c++-common/analyzer/realloc-1.c
  9934b5785f041976924e22e94abcc411  gcc/testsuite/c-c++-common/analyzer/realloc-2.c
*************** f2f3b031e1cbc5967efb4a8bda8a5660  gcc/te
*** 21739,21745 ****
  fa6e8786f24bf1bbb1ee44a3e494556e  gcc/testsuite/g++.dg/DRs/dr2664.C
  662ef7dab4198df4626e7fdc15e43417  gcc/testsuite/g++.dg/DRs/dr2673.C
  351c18e7e50aaf58527ac74a651d4010  gcc/testsuite/g++.dg/DRs/dr2728.C
! d215ccae6d38ffe8952a50ab3d7f9617  gcc/testsuite/g++.dg/DRs/dr2836.C
  0847101d96b0209b2a8a04bb4dd88aa1  gcc/testsuite/g++.dg/DRs/dr2855.C
  0c113ed3c117c9e10ad6def59f90e0f8  gcc/testsuite/g++.dg/DRs/dr2867-1.C
  171004893b30ed1184873699b09be792  gcc/testsuite/g++.dg/DRs/dr2867-2.C
--- 21742,21748 ----
  fa6e8786f24bf1bbb1ee44a3e494556e  gcc/testsuite/g++.dg/DRs/dr2664.C
  662ef7dab4198df4626e7fdc15e43417  gcc/testsuite/g++.dg/DRs/dr2673.C
  351c18e7e50aaf58527ac74a651d4010  gcc/testsuite/g++.dg/DRs/dr2728.C
! fc3e72e3c6740ca8444e4f8da3fc3f22  gcc/testsuite/g++.dg/DRs/dr2836.C
  0847101d96b0209b2a8a04bb4dd88aa1  gcc/testsuite/g++.dg/DRs/dr2855.C
  0c113ed3c117c9e10ad6def59f90e0f8  gcc/testsuite/g++.dg/DRs/dr2867-1.C
  171004893b30ed1184873699b09be792  gcc/testsuite/g++.dg/DRs/dr2867-2.C
*************** d5f2ec3f68f58a172b795a7f5deae99f  gcc/te
*** 21787,21793 ****
  d6a3dec90d15ab2e54cbca93322da7ed  gcc/testsuite/g++.dg/abi/abi-tag16a.C
  585a58c93973b99a7cd1f0eb6cfce127  gcc/testsuite/g++.dg/abi/abi-tag17.C
  1f631f103e18b0ae6b6b4b7825a48b7a  gcc/testsuite/g++.dg/abi/abi-tag18.C
! 0bc8fbe13defe41ddb3caeeb0db6a01c  gcc/testsuite/g++.dg/abi/abi-tag18a.C
  403b13e4e8f4f1a53472f6656f4e9953  gcc/testsuite/g++.dg/abi/abi-tag19.C
  064eba36c22e1b67e37a8c95a5698520  gcc/testsuite/g++.dg/abi/abi-tag2.C
  f19a797248af01c5d5f5921e6516c19a  gcc/testsuite/g++.dg/abi/abi-tag20.C
--- 21790,21796 ----
  d6a3dec90d15ab2e54cbca93322da7ed  gcc/testsuite/g++.dg/abi/abi-tag16a.C
  585a58c93973b99a7cd1f0eb6cfce127  gcc/testsuite/g++.dg/abi/abi-tag17.C
  1f631f103e18b0ae6b6b4b7825a48b7a  gcc/testsuite/g++.dg/abi/abi-tag18.C
! 32877a1b4b9e88af3c594f317d98e54f  gcc/testsuite/g++.dg/abi/abi-tag18a.C
  403b13e4e8f4f1a53472f6656f4e9953  gcc/testsuite/g++.dg/abi/abi-tag19.C
  064eba36c22e1b67e37a8c95a5698520  gcc/testsuite/g++.dg/abi/abi-tag2.C
  f19a797248af01c5d5f5921e6516c19a  gcc/testsuite/g++.dg/abi/abi-tag20.C
*************** a3ef49aa5fa035e0eaa1fb23c589fe61  gcc/te
*** 22120,22126 ****
  59cdef1c2f5ac26231205b723cb9ea52  gcc/testsuite/g++.dg/abi/vtt1.C
  bbebf12acd88ceeb72fb99bff77e889b  gcc/testsuite/g++.dg/absvect.C
  cb66889e261971e64a6568617bffaeaa  gcc/testsuite/g++.dg/addr_builtin-1.C
! 806e88a78438f2d478b5ab1e9caa01f7  gcc/testsuite/g++.dg/alias-checks.C
  e7df9a3155c5c6021ee481fcc76afa2a  gcc/testsuite/g++.dg/analyzer/analyzer.exp
  0918dccee8951925f7bc4640874a6cd3  gcc/testsuite/g++.dg/analyzer/cstdlib-2.C
  4eff577cfbafc7e71c5a97654882870b  gcc/testsuite/g++.dg/analyzer/cstdlib.C
--- 22123,22129 ----
  59cdef1c2f5ac26231205b723cb9ea52  gcc/testsuite/g++.dg/abi/vtt1.C
  bbebf12acd88ceeb72fb99bff77e889b  gcc/testsuite/g++.dg/absvect.C
  cb66889e261971e64a6568617bffaeaa  gcc/testsuite/g++.dg/addr_builtin-1.C
! b0eff5995e13fdd20b2e3c2b4b69c48c  gcc/testsuite/g++.dg/alias-checks.C
  e7df9a3155c5c6021ee481fcc76afa2a  gcc/testsuite/g++.dg/analyzer/analyzer.exp
  0918dccee8951925f7bc4640874a6cd3  gcc/testsuite/g++.dg/analyzer/cstdlib-2.C
  4eff577cfbafc7e71c5a97654882870b  gcc/testsuite/g++.dg/analyzer/cstdlib.C
*************** ce662f569037891152d7969bec2685cd  gcc/te
*** 22718,22724 ****
  addfdc1364048741e22ee32302cdf092  gcc/testsuite/g++.dg/contracts/pr110159.C
  fad9615e64b4a42988f5ba3d0b6e8552  gcc/testsuite/g++.dg/contracts/pr113968.C
  f0398ac4aacbf6c27a19e54cbf6a6347  gcc/testsuite/g++.dg/contracts/pr115434.C
! 70b03c5ba8925c9f03868c4fbe39073a  gcc/testsuite/g++.dg/contracts/pr116490.C
  5e66eb4f6b5efc8e23309b95e8176b65  gcc/testsuite/g++.dg/contracts/pr116607.C
  d5e1613017d3f9eca3ecede804bc0b5b  gcc/testsuite/g++.dg/contracts/pr117579.C
  c81f2cfc289a492c0914488fe8b63c60  gcc/testsuite/g++.dg/contracts/preload_handler/Makefile
--- 22721,22727 ----
  addfdc1364048741e22ee32302cdf092  gcc/testsuite/g++.dg/contracts/pr110159.C
  fad9615e64b4a42988f5ba3d0b6e8552  gcc/testsuite/g++.dg/contracts/pr113968.C
  f0398ac4aacbf6c27a19e54cbf6a6347  gcc/testsuite/g++.dg/contracts/pr115434.C
! 251e1141392f1ef18a39436532cc5423  gcc/testsuite/g++.dg/contracts/pr116490.C
  5e66eb4f6b5efc8e23309b95e8176b65  gcc/testsuite/g++.dg/contracts/pr116607.C
  d5e1613017d3f9eca3ecede804bc0b5b  gcc/testsuite/g++.dg/contracts/pr117579.C
  c81f2cfc289a492c0914488fe8b63c60  gcc/testsuite/g++.dg/contracts/preload_handler/Makefile
*************** ab314765ac0eb201bb3e11222207ee40  gcc/te
*** 23128,23134 ****
  f5e05a528274f5ccbd128504d532f540  gcc/testsuite/g++.dg/coroutines/torture/pr119916.C
  7056081fe2b2eea558f97e0e51454360  gcc/testsuite/g++.dg/coroutines/torture/pr120243-unhandled-1.C
  4462334c65b930d35ef9130fd5dee6e3  gcc/testsuite/g++.dg/coroutines/torture/pr120243-unhandled-2.C
! 63b467f89662af371e2a58a44b0b9042  gcc/testsuite/g++.dg/coroutines/torture/pr121219.C
  33c54ba08ef1e709e2fb67d90cc048b4  gcc/testsuite/g++.dg/coroutines/torture/pr92933.C
  56811f88338809bbea0a94b564f9b4da  gcc/testsuite/g++.dg/coroutines/torture/pr95003.C
  2248a954a08f9c689c19929abad2771e  gcc/testsuite/g++.dg/coroutines/torture/pr95519-00-return_void.C
--- 23131,23137 ----
  f5e05a528274f5ccbd128504d532f540  gcc/testsuite/g++.dg/coroutines/torture/pr119916.C
  7056081fe2b2eea558f97e0e51454360  gcc/testsuite/g++.dg/coroutines/torture/pr120243-unhandled-1.C
  4462334c65b930d35ef9130fd5dee6e3  gcc/testsuite/g++.dg/coroutines/torture/pr120243-unhandled-2.C
! eba2bcad541e74ccc97de389bf440b21  gcc/testsuite/g++.dg/coroutines/torture/pr121219.C
  33c54ba08ef1e709e2fb67d90cc048b4  gcc/testsuite/g++.dg/coroutines/torture/pr92933.C
  56811f88338809bbea0a94b564f9b4da  gcc/testsuite/g++.dg/coroutines/torture/pr95003.C
  2248a954a08f9c689c19929abad2771e  gcc/testsuite/g++.dg/coroutines/torture/pr95519-00-return_void.C
*************** b8d20ab3fff2d35109e30a6a907845f1  gcc/te
*** 23188,23193 ****
--- 23191,23197 ----
  4983500878e03a3abd76e7f7b681a086  gcc/testsuite/g++.dg/cpp/embed-25.C
  1cd2ff1ccb4cd02ce8ce68e808b8bc3e  gcc/testsuite/g++.dg/cpp/embed-26.C
  54f4ee2696995576c4c5fce0f28eb708  gcc/testsuite/g++.dg/cpp/embed-27.C
+ 616061a95b206fb48748193f412fa24c  gcc/testsuite/g++.dg/cpp/embed-28.C
  518db3b2c551f0072b476c131c511910  gcc/testsuite/g++.dg/cpp/embed-3.C
  39e59b8a50db7adc52db30aeffc92f5c  gcc/testsuite/g++.dg/cpp/embed-4.C
  71d36e829a98f52caa2a8f034296db7c  gcc/testsuite/g++.dg/cpp/embed-5.C
*************** e85d058a14211dcf2d4a869c0624ffae  gcc/te
*** 24494,24499 ****
--- 24498,24504 ----
  05a54074cd4251e2ff93c14d568fc89b  gcc/testsuite/g++.dg/cpp0x/gen-attrs-88.C
  612cbb9f8579e5b0993d513fe539de72  gcc/testsuite/g++.dg/cpp0x/gen-attrs-89.C
  5dd92815927177080853d47a890f5439  gcc/testsuite/g++.dg/cpp0x/gen-attrs-9.C
+ 3b01eb9296987e59c3e91a9998259d9b  gcc/testsuite/g++.dg/cpp0x/gen-attrs-90.C
  6555e6ec4bda3f0ea419f63e98af0a80  gcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C
  72a234ce75f2f8ec7fd9f0edfc628c19  gcc/testsuite/g++.dg/cpp0x/gnu_fno-ext-numeric-literals.C
  3e88c6e173fd3bd44055c2202907f7e1  gcc/testsuite/g++.dg/cpp0x/hog1.C
*************** b4c316ecfeb0a9b078a76b658ed94668  gcc/te
*** 25387,25392 ****
--- 25392,25398 ----
  29f9291c87488a55a2dd5fa47188ab10  gcc/testsuite/g++.dg/cpp0x/pr119580.C
  9598abf127e6826158d64ee6b05b0791  gcc/testsuite/g++.dg/cpp0x/pr122302.C
  dd7f53c1057815c9ecba63c7f4408ec4  gcc/testsuite/g++.dg/cpp0x/pr122465.C
+ 4891c13c51126851f62b961486e6f9ef  gcc/testsuite/g++.dg/cpp0x/pr123692.C
  26dea799d49ce223a0c4130a3c955271  gcc/testsuite/g++.dg/cpp0x/pr31431-2.C
  4d1da29b669bf3178b3987abce4d58b1  gcc/testsuite/g++.dg/cpp0x/pr31431.C
  d65e06a3830e2b511cc25692b94615a1  gcc/testsuite/g++.dg/cpp0x/pr31432.C
*************** e0c740066bd9b5db23ad119756a191dc  gcc/te
*** 27366,27371 ****
--- 27372,27379 ----
  625fdfbc6a0c9cdfdfa656254c263bc2  gcc/testsuite/g++.dg/cpp1z/decomp63.C
  4befe5488b784277f9723b50bb4969d3  gcc/testsuite/g++.dg/cpp1z/decomp64.C
  11546fc7df8f740e330fb3c4689e9ec3  gcc/testsuite/g++.dg/cpp1z/decomp65.C
+ 4267cc2db929f2666c1c5449e017a94a  gcc/testsuite/g++.dg/cpp1z/decomp66.C
+ d87e0f686f9f58fa2c8ea0990e82c1b3  gcc/testsuite/g++.dg/cpp1z/decomp67.C
  09468d9aa8e4fe8ac0677b17a3c509a2  gcc/testsuite/g++.dg/cpp1z/decomp7.C
  0d7ba62c8322f4f98a085026e3ac529a  gcc/testsuite/g++.dg/cpp1z/decomp8.C
  20aa008483ed89882491910be20354b8  gcc/testsuite/g++.dg/cpp1z/decomp9.C
*************** f8d8f977a2ce10a22535ceb90309b531  gcc/te
*** 27991,27996 ****
--- 27999,28005 ----
  acbce95791211ede09f67fcd376b48cb  gcc/testsuite/g++.dg/cpp26/expansion-stmt23.C
  4f56781af7d20030274d9a133126e14b  gcc/testsuite/g++.dg/cpp26/expansion-stmt24.C
  6e0ba6570c6704c45f502e328e1b9c51  gcc/testsuite/g++.dg/cpp26/expansion-stmt27.C
+ 311dc4c09c0e312fcde6a0fa7a18ea60  gcc/testsuite/g++.dg/cpp26/expansion-stmt28.C
  b2b33bdc39d1d27a4c8029e91514b3c1  gcc/testsuite/g++.dg/cpp26/expansion-stmt3.C
  05972a123b20a66b9c7899c2bb0b5042  gcc/testsuite/g++.dg/cpp26/expansion-stmt4.C
  7cfc2afc603d55bfd66b320b3d190acd  gcc/testsuite/g++.dg/cpp26/expansion-stmt5.C
*************** c0b015cd02e07242444c2700f64e070a  gcc/te
*** 28765,28771 ****
  22d0d1f2f3c677d12d0e844ae12fd688  gcc/testsuite/g++.dg/cpp2a/constexpr-union7.C
  e94cea4fa4255420603d88768e70b36c  gcc/testsuite/g++.dg/cpp2a/constexpr-union8.C
  b00a4635a4c11366be17b4b6a45910f7  gcc/testsuite/g++.dg/cpp2a/constexpr-union9.C
! 4e80378ab3af70b20b34dcf87e46941d  gcc/testsuite/g++.dg/cpp2a/constexpr-vector1.C
  6d84a7bd78f9867ce0a07e6b0d26241b  gcc/testsuite/g++.dg/cpp2a/constexpr-virtual1.C
  974c3f89c0f3ffa8993db35751b7f993  gcc/testsuite/g++.dg/cpp2a/constexpr-virtual10.C
  90499949f9ce8adc6318bfabadf24305  gcc/testsuite/g++.dg/cpp2a/constexpr-virtual11.C
--- 28774,28780 ----
  22d0d1f2f3c677d12d0e844ae12fd688  gcc/testsuite/g++.dg/cpp2a/constexpr-union7.C
  e94cea4fa4255420603d88768e70b36c  gcc/testsuite/g++.dg/cpp2a/constexpr-union8.C
  b00a4635a4c11366be17b4b6a45910f7  gcc/testsuite/g++.dg/cpp2a/constexpr-union9.C
! 53f229837a5922ba8f93f5b121190ca5  gcc/testsuite/g++.dg/cpp2a/constexpr-vector1.C
  6d84a7bd78f9867ce0a07e6b0d26241b  gcc/testsuite/g++.dg/cpp2a/constexpr-virtual1.C
  974c3f89c0f3ffa8993db35751b7f993  gcc/testsuite/g++.dg/cpp2a/constexpr-virtual10.C
  90499949f9ce8adc6318bfabadf24305  gcc/testsuite/g++.dg/cpp2a/constexpr-virtual11.C
*************** da710eb2889fcf39c429bcbbfdc2abef  gcc/te
*** 29204,29209 ****
--- 29213,29219 ----
  475c14632e683c843d48238b8c5514f2  gcc/testsuite/g++.dg/cpp2a/pr114426.C
  9d5c0df7ab0b6e3e5ab03bc8eb135452  gcc/testsuite/g++.dg/cpp2a/pr117317-1.C
  4b52a1949fed25dc03d5cfb83047e7c5  gcc/testsuite/g++.dg/cpp2a/pr117317-2.C
+ 0695fd641b9e046ab279a8c21ce3e2b0  gcc/testsuite/g++.dg/cpp2a/pr123677.C
  7d1c1719a1c3e44cf69662819769f8a5  gcc/testsuite/g++.dg/cpp2a/pr88534.C
  3a4139bbe15eef2dce96cb020b2681f7  gcc/testsuite/g++.dg/cpp2a/pr88537.C
  b94ce4741edeca1190c4590e425522dc  gcc/testsuite/g++.dg/cpp2a/pr89913.C
*************** c3525831665d7cbb0d4199640426a8c0  gcc/te
*** 30810,30816 ****
  4595fa7ec3da0916bc04836cb7e0b080  gcc/testsuite/g++.dg/ext/is_trivially_copyable.C
  357fcc1259ce9ac8cdc0e28cd485e476  gcc/testsuite/g++.dg/ext/is_unbounded_array.C
  dfc5fc4d8610f00c7cd27c7795c3494a  gcc/testsuite/g++.dg/ext/is_union.C
! c5162f49c04a31e896fa6b3b85ddc718  gcc/testsuite/g++.dg/ext/is_virtual_base_of.C
  75fff22de399b6176636c77897e0835a  gcc/testsuite/g++.dg/ext/is_virtual_base_of_diagnostic.C
  4a71df88e3c4fe33e985225a970a1f40  gcc/testsuite/g++.dg/ext/is_virtual_base_of_diagnostic2.C
  4f23cfdb876ae1f2a68ee65231f5e7d6  gcc/testsuite/g++.dg/ext/is_volatile.C
--- 30820,30826 ----
  4595fa7ec3da0916bc04836cb7e0b080  gcc/testsuite/g++.dg/ext/is_trivially_copyable.C
  357fcc1259ce9ac8cdc0e28cd485e476  gcc/testsuite/g++.dg/ext/is_unbounded_array.C
  dfc5fc4d8610f00c7cd27c7795c3494a  gcc/testsuite/g++.dg/ext/is_union.C
! ebf9bd21db44c197776bc7b6ed4cbda1  gcc/testsuite/g++.dg/ext/is_virtual_base_of.C
  75fff22de399b6176636c77897e0835a  gcc/testsuite/g++.dg/ext/is_virtual_base_of_diagnostic.C
  4a71df88e3c4fe33e985225a970a1f40  gcc/testsuite/g++.dg/ext/is_virtual_base_of_diagnostic2.C
  4f23cfdb876ae1f2a68ee65231f5e7d6  gcc/testsuite/g++.dg/ext/is_volatile.C
*************** a90a1ccb44e24f11ce27ee962f1c9c2d  gcc/te
*** 31220,31267 ****
  e0becb782bb1d8a5f80ddc28f09b76b5  gcc/testsuite/g++.dg/freestanding-nonint-main.C
  809ca69af7e2e785bd8be802e550096b  gcc/testsuite/g++.dg/fstack-protector-strong.C
  165f4d1a12237b9ed8273a7db5e4299e  gcc/testsuite/g++.dg/func-args-1.C
! 298209147177d6620c693f143e25bd5f  gcc/testsuite/g++.dg/gcov/gcov-1.C
! 3bb74e0b30131d9ca29c007bfd471494  gcc/testsuite/g++.dg/gcov/gcov-10.C
! 22fc6504c62d44c9b94fe8d23a3e383f  gcc/testsuite/g++.dg/gcov/gcov-11.C
! c95c4e2bd4e437ad3ff1db17dc98ed8a  gcc/testsuite/g++.dg/gcov/gcov-12.C
! 7a1698611acb707485b8f5e55a748337  gcc/testsuite/g++.dg/gcov/gcov-13.C
! b3f1c10dff330be02171cdcaa9b964c0  gcc/testsuite/g++.dg/gcov/gcov-14.C
! 56dbe86604b8680b3d2c3f63fd217d0a  gcc/testsuite/g++.dg/gcov/gcov-15.C
! 1a43a673011a87c94649d32b935958ea  gcc/testsuite/g++.dg/gcov/gcov-16.C
! c47d97f360807b87a87090dcf2d42054  gcc/testsuite/g++.dg/gcov/gcov-17.C
! f4da15088792e97a7ce34471255ac50c  gcc/testsuite/g++.dg/gcov/gcov-18.C
! e3855e6e2ac350c78fb7bd75ab4612e6  gcc/testsuite/g++.dg/gcov/gcov-19.C
! 76d4b63734995c717c5a329c312c8803  gcc/testsuite/g++.dg/gcov/gcov-2.C
! 16195b4a664db68b05b8a54a82560adc  gcc/testsuite/g++.dg/gcov/gcov-20.C
! 607e163314d276273e41c141faea450e  gcc/testsuite/g++.dg/gcov/gcov-21.C
  165abeae2952a999a1ae5519bf3d883d  gcc/testsuite/g++.dg/gcov/gcov-22.C
  1640d03782f51bc43a15596b0614cf56  gcc/testsuite/g++.dg/gcov/gcov-23-1.h
  167b6b9dc0c8d8fdcd57ab138cca6d8f  gcc/testsuite/g++.dg/gcov/gcov-23-2.h
! 6dc62067a4a2f3496edde1bd07b54049  gcc/testsuite/g++.dg/gcov/gcov-23.C
! 0e241a16c3faf2f0c387bd2978d2b824  gcc/testsuite/g++.dg/gcov/gcov-3.C
  2c83bff9a3f14aa6fc5d7755bf82c9b6  gcc/testsuite/g++.dg/gcov/gcov-3.h
! a7c093e32d8e0cc08e02c3253748979c  gcc/testsuite/g++.dg/gcov/gcov-4.C
! 8ade32db1de614a89b3775d4d1d03415  gcc/testsuite/g++.dg/gcov/gcov-5.C
  0db2a2956de58970834889c74f43082d  gcc/testsuite/g++.dg/gcov/gcov-6.C
! 6f3a3736784c0de448d6416b0d8f64d8  gcc/testsuite/g++.dg/gcov/gcov-7.C
! 35c5d8591ad30e9b50844567554d9973  gcc/testsuite/g++.dg/gcov/gcov-8.C
! e60d3e80695d06d312beddeaaaa4af1d  gcc/testsuite/g++.dg/gcov/gcov-dump-1.C
! 8d7f3725599edc040c38551cce2d1dfb  gcc/testsuite/g++.dg/gcov/gcov-dump-2.C
! 10bbabd8392ab7ee5799bc6a14018686  gcc/testsuite/g++.dg/gcov/gcov-threads-1.C
  7f7adb623de4ddcc9c73af08aec292d8  gcc/testsuite/g++.dg/gcov/gcov.exp
  6a2ed5ca795d47c333efae7c155c43b1  gcc/testsuite/g++.dg/gcov/gcov.py
  28167c93ffea74cb328ff3cd087d643a  gcc/testsuite/g++.dg/gcov/gcovpart-12b.C
! 4486858dfdc63ab6e7f3c42c2b6b11ed  gcc/testsuite/g++.dg/gcov/loop.C
! 815596dd35955e37e62cd4175d5c91e7  gcc/testsuite/g++.dg/gcov/pr16855-priority.C
! 68408b717407ee6a0522ffcc0ab8c513  gcc/testsuite/g++.dg/gcov/pr16855.C
! 62015e4e627cd00c71bb0efd21af8d60  gcc/testsuite/g++.dg/gcov/pr84548.C
! c8c006792fd429653df69e08d74da961  gcc/testsuite/g++.dg/gcov/pr86109.C
! d2e89a1ccbe138ac6c1ad8359bee03c4  gcc/testsuite/g++.dg/gcov/pr88045.C
! f6e2ac662bfeab361b3abd4ebe560439  gcc/testsuite/g++.dg/gcov/pr88263-2.C
! 35820b0a0f2a5f7f71799be446ead7fe  gcc/testsuite/g++.dg/gcov/pr88263.C
! 14809830afac2f8e87ac2dfecece2811  gcc/testsuite/g++.dg/gcov/pr97069.C
! a967f09270d7b705a4f98a125b76c7a6  gcc/testsuite/g++.dg/gcov/pr98273.C
! 7ad2f2c71c908fc0a03c6dc6be0bbd06  gcc/testsuite/g++.dg/gcov/ternary.C
  d1af8bc5c6a98042b0799693ddd97d27  gcc/testsuite/g++.dg/gcov/test-gcov-17.py
  756bdf5e4081168579b0347da701c42f  gcc/testsuite/g++.dg/gcov/test-pr98273.py
  70eb6056fbdeacb6b55f61a270917dc6  gcc/testsuite/g++.dg/goacc-gomp/goacc-gomp.exp
--- 31230,31277 ----
  e0becb782bb1d8a5f80ddc28f09b76b5  gcc/testsuite/g++.dg/freestanding-nonint-main.C
  809ca69af7e2e785bd8be802e550096b  gcc/testsuite/g++.dg/fstack-protector-strong.C
  165f4d1a12237b9ed8273a7db5e4299e  gcc/testsuite/g++.dg/func-args-1.C
! 4a8a2d59d5236ab9b4239e9d5428b433  gcc/testsuite/g++.dg/gcov/gcov-1.C
! 20e72f3ad73ed0f178f37612b68dbbd3  gcc/testsuite/g++.dg/gcov/gcov-10.C
! 1a7aaf00bb4bb2cc7cc73c4e150758b1  gcc/testsuite/g++.dg/gcov/gcov-11.C
! 8b0b67098e32e4aa27b2e46d7c135b2e  gcc/testsuite/g++.dg/gcov/gcov-12.C
! 950fee86112dc9cdbb62f26f95cd6103  gcc/testsuite/g++.dg/gcov/gcov-13.C
! c381c4b49afc01681227afe62ee90730  gcc/testsuite/g++.dg/gcov/gcov-14.C
! 8d2f51c6219acb542e4c2677ca13822c  gcc/testsuite/g++.dg/gcov/gcov-15.C
! ededa0d876b23bc0fe9e743f3d0c0b44  gcc/testsuite/g++.dg/gcov/gcov-16.C
! e8dbfe76d290650a16be586144c7615c  gcc/testsuite/g++.dg/gcov/gcov-17.C
! 57de8c53a557c12f4442187a603e8d04  gcc/testsuite/g++.dg/gcov/gcov-18.C
! 7aa62590e00d7efa953e27fe67ddbc81  gcc/testsuite/g++.dg/gcov/gcov-19.C
! 2455bd4b9fa2af5fd0575899e21a2f69  gcc/testsuite/g++.dg/gcov/gcov-2.C
! b1029c1175d7075e7d5eecde29abeccd  gcc/testsuite/g++.dg/gcov/gcov-20.C
! 47e027a95bd97879056be58bd4b8d7e0  gcc/testsuite/g++.dg/gcov/gcov-21.C
  165abeae2952a999a1ae5519bf3d883d  gcc/testsuite/g++.dg/gcov/gcov-22.C
  1640d03782f51bc43a15596b0614cf56  gcc/testsuite/g++.dg/gcov/gcov-23-1.h
  167b6b9dc0c8d8fdcd57ab138cca6d8f  gcc/testsuite/g++.dg/gcov/gcov-23-2.h
! 8495b0bdef14ea0acbbd658edf296ae6  gcc/testsuite/g++.dg/gcov/gcov-23.C
! 30e19a96541ddd2af052e7ec0f68231c  gcc/testsuite/g++.dg/gcov/gcov-3.C
  2c83bff9a3f14aa6fc5d7755bf82c9b6  gcc/testsuite/g++.dg/gcov/gcov-3.h
! 6c469cebe59041c83fb4f2c74bfe7d18  gcc/testsuite/g++.dg/gcov/gcov-4.C
! 19f265ae1d7c14cbee5300cf0f5c175b  gcc/testsuite/g++.dg/gcov/gcov-5.C
  0db2a2956de58970834889c74f43082d  gcc/testsuite/g++.dg/gcov/gcov-6.C
! b2f1adaac5da7f7375b79fa9b422f121  gcc/testsuite/g++.dg/gcov/gcov-7.C
! 31609c7b2929fd6a1a260808d35bcb53  gcc/testsuite/g++.dg/gcov/gcov-8.C
! d2b21cb5491477a86d440aab9f68213d  gcc/testsuite/g++.dg/gcov/gcov-dump-1.C
! 6f3b35a06f1fa0ae35acc5b4b7eb0ffb  gcc/testsuite/g++.dg/gcov/gcov-dump-2.C
! a988fcacc8a8316ebe261060fd47e6ef  gcc/testsuite/g++.dg/gcov/gcov-threads-1.C
  7f7adb623de4ddcc9c73af08aec292d8  gcc/testsuite/g++.dg/gcov/gcov.exp
  6a2ed5ca795d47c333efae7c155c43b1  gcc/testsuite/g++.dg/gcov/gcov.py
  28167c93ffea74cb328ff3cd087d643a  gcc/testsuite/g++.dg/gcov/gcovpart-12b.C
! 8c449724d16163830d78af38ba4455c4  gcc/testsuite/g++.dg/gcov/loop.C
! 2f5a9e562f6775f48039bc0b20af1608  gcc/testsuite/g++.dg/gcov/pr16855-priority.C
! f7c0f628057aeb696ed37337ef71f0cc  gcc/testsuite/g++.dg/gcov/pr16855.C
! a110e4ab4e3ab6eb91d6fce957fd398f  gcc/testsuite/g++.dg/gcov/pr84548.C
! 90e64749ca68f4911b9d2f3ec9b662ea  gcc/testsuite/g++.dg/gcov/pr86109.C
! 3cabae486b0ad7de9c050c68aea344e4  gcc/testsuite/g++.dg/gcov/pr88045.C
! 07140e101b06e6240bef91f778610bbf  gcc/testsuite/g++.dg/gcov/pr88263-2.C
! 5a93969283d51fe151af94db41a788e3  gcc/testsuite/g++.dg/gcov/pr88263.C
! 924d62298ff818f1da0e44a5ef312959  gcc/testsuite/g++.dg/gcov/pr97069.C
! 9c2064919a73dd744750231631fc8569  gcc/testsuite/g++.dg/gcov/pr98273.C
! 5d86cefc6880c7dbb15f0bcc018ebbaa  gcc/testsuite/g++.dg/gcov/ternary.C
  d1af8bc5c6a98042b0799693ddd97d27  gcc/testsuite/g++.dg/gcov/test-gcov-17.py
  756bdf5e4081168579b0347da701c42f  gcc/testsuite/g++.dg/gcov/test-pr98273.py
  70eb6056fbdeacb6b55f61a270917dc6  gcc/testsuite/g++.dg/goacc-gomp/goacc-gomp.exp
*************** a224cdf89df755372b414897a4fd0df0  gcc/te
*** 31544,31549 ****
--- 31554,31560 ----
  24de1af738e1de5eade9460de843157d  gcc/testsuite/g++.dg/gomp/pr119370.C
  44956ee7048ef4daaa13755b811fe3ca  gcc/testsuite/g++.dg/gomp/pr120180-1.C
  996def323ebaae8304a543404625c64a  gcc/testsuite/g++.dg/gomp/pr121977.C
+ b30c571b03f08db4a17f3299d04b20fa  gcc/testsuite/g++.dg/gomp/pr123597.C
  539bba6df5330b7a6631eca5665a0899  gcc/testsuite/g++.dg/gomp/pr24849.C
  78ea34fd7a1a2767f61a703271e7070a  gcc/testsuite/g++.dg/gomp/pr25874.C
  93a85a09acfdf011a86ff95fc9184a94  gcc/testsuite/g++.dg/gomp/pr25996.C
*************** b37a08c48590ee57a45669e3a61fc899  gcc/te
*** 31756,31762 ****
  dfe63b7d52f6d97e04da25f267ac330c  gcc/testsuite/g++.dg/graphite/pr42930.C
  4cf735ba9e5b65e201dbbd4ec916b359  gcc/testsuite/g++.dg/graphite/pr43026.C
  972ae62627d5778f45f285feb6661317  gcc/testsuite/g++.dg/guality/decomp1.C
! 720617049c7a2f0f6faf0a736b855836  gcc/testsuite/g++.dg/guality/guality.exp
  2e0a2ac35d8a11426ad1e59f818a5d03  gcc/testsuite/g++.dg/guality/guality.h
  9f6bd16255ea79978f41ff1fd8300ddc  gcc/testsuite/g++.dg/guality/pr46815.C
  be57153d0806c5827262dfc205d1ddd5  gcc/testsuite/g++.dg/guality/pr55541.C
--- 31767,31773 ----
  dfe63b7d52f6d97e04da25f267ac330c  gcc/testsuite/g++.dg/graphite/pr42930.C
  4cf735ba9e5b65e201dbbd4ec916b359  gcc/testsuite/g++.dg/graphite/pr43026.C
  972ae62627d5778f45f285feb6661317  gcc/testsuite/g++.dg/guality/decomp1.C
! 3b9d501fc9eef91ef2236daa832c0d52  gcc/testsuite/g++.dg/guality/guality.exp
  2e0a2ac35d8a11426ad1e59f818a5d03  gcc/testsuite/g++.dg/guality/guality.h
  9f6bd16255ea79978f41ff1fd8300ddc  gcc/testsuite/g++.dg/guality/pr46815.C
  be57153d0806c5827262dfc205d1ddd5  gcc/testsuite/g++.dg/guality/pr55541.C
*************** f5603b028cb5e4f040fc3af7776ea00e  gcc/te
*** 32700,32705 ****
--- 32711,32717 ----
  60fb08261559503592bcae8f4f347885  gcc/testsuite/g++.dg/lookup/operator-7.C
  39473539be73f1fec8277d1351308d6a  gcc/testsuite/g++.dg/lookup/operator-8.C
  d4cc68c3b85ac22cfde7bacbae0bd6ce  gcc/testsuite/g++.dg/lookup/operator-8a.C
+ 41d2e17cc64d9181a14fce3cac8d35bd  gcc/testsuite/g++.dg/lookup/operator-9.C
  ed588fcfdd755a45d961e507c96ba9e2  gcc/testsuite/g++.dg/lookup/pr21802.C
  2378e813c805e961b5f594f4a76ec56d  gcc/testsuite/g++.dg/lookup/pr60994.C
  e8c219b570d08e589efca8f832a6b0b3  gcc/testsuite/g++.dg/lookup/pr67074.C
*************** cbee807af28f014c203c54ab80ff50a2  gcc/te
*** 33090,33096 ****
  eb989cca62b61ae260c43eec2e863f53  gcc/testsuite/g++.dg/lto/pr60150_1.C
  4545a0f5287e3787b44c5f09c746b2c5  gcc/testsuite/g++.dg/lto/pr60336_0.C
  539839d2d7b449fce8fb3b3226460f52  gcc/testsuite/g++.dg/lto/pr60567_0.C
! b0b88b6e1ea73332e8af7ec97db10850  gcc/testsuite/g++.dg/lto/pr62026_0.C
  c3c4967cb8c2c452928945c0ccd6989d  gcc/testsuite/g++.dg/lto/pr63166_0.ii
  0b63c925f1273abcd9e9c38bcd437701  gcc/testsuite/g++.dg/lto/pr63166_1.ii
  55437e8d287eedf3fff9dd4b6ab2781a  gcc/testsuite/g++.dg/lto/pr63270.h
--- 33102,33108 ----
  eb989cca62b61ae260c43eec2e863f53  gcc/testsuite/g++.dg/lto/pr60150_1.C
  4545a0f5287e3787b44c5f09c746b2c5  gcc/testsuite/g++.dg/lto/pr60336_0.C
  539839d2d7b449fce8fb3b3226460f52  gcc/testsuite/g++.dg/lto/pr60567_0.C
! d83b76394d1651189b5ec0a02fe0bd15  gcc/testsuite/g++.dg/lto/pr62026_0.C
  c3c4967cb8c2c452928945c0ccd6989d  gcc/testsuite/g++.dg/lto/pr63166_0.ii
  0b63c925f1273abcd9e9c38bcd437701  gcc/testsuite/g++.dg/lto/pr63166_1.ii
  55437e8d287eedf3fff9dd4b6ab2781a  gcc/testsuite/g++.dg/lto/pr63270.h
*************** ce1ebf06dbe7cdae676970830da2a4e7  gcc/te
*** 33442,33448 ****
  f536f28baebb566f8e0524872a79e757  gcc/testsuite/g++.dg/modules/contracts-4_c.C
  628e576ce9c14f472e2d338d1fab5bd5  gcc/testsuite/g++.dg/modules/contracts-4_d.C
  fae22c7cff0bae185284077ff2e72523  gcc/testsuite/g++.dg/modules/contracts-5_a.C
! 50b224246269cbd9bd90fb85b667536a  gcc/testsuite/g++.dg/modules/contracts-5_b.C
  8924e09c1bf99205db3bf2a95baa7701  gcc/testsuite/g++.dg/modules/contracts-tpl-friend-1_a.C
  0a66e0a40527f0507cceaeb322c91a15  gcc/testsuite/g++.dg/modules/contracts-tpl-friend-1_b.C
  097ffafa56bf8b6bcbb8f85c58b0e187  gcc/testsuite/g++.dg/modules/convop-1_a.C
--- 33454,33460 ----
  f536f28baebb566f8e0524872a79e757  gcc/testsuite/g++.dg/modules/contracts-4_c.C
  628e576ce9c14f472e2d338d1fab5bd5  gcc/testsuite/g++.dg/modules/contracts-4_d.C
  fae22c7cff0bae185284077ff2e72523  gcc/testsuite/g++.dg/modules/contracts-5_a.C
! ddd245a6fdf7bbde1cb8101f2380e708  gcc/testsuite/g++.dg/modules/contracts-5_b.C
  8924e09c1bf99205db3bf2a95baa7701  gcc/testsuite/g++.dg/modules/contracts-tpl-friend-1_a.C
  0a66e0a40527f0507cceaeb322c91a15  gcc/testsuite/g++.dg/modules/contracts-tpl-friend-1_b.C
  097ffafa56bf8b6bcbb8f85c58b0e187  gcc/testsuite/g++.dg/modules/convop-1_a.C
*************** cacc2b46a47db294c8b68d4d9a2920ea  gcc/te
*** 33693,33699 ****
  1bd7a655531ac448585db06200fbbb28  gcc/testsuite/g++.dg/modules/gmf-3.C
  5acba4ad7210cf8ea467e74a6aac477c  gcc/testsuite/g++.dg/modules/gmf-4.C
  2efc48c188ec78c95b3dd7c2b3d3c796  gcc/testsuite/g++.dg/modules/gmf-5.C
! 85e7697f00731f1c965a4728832ffc16  gcc/testsuite/g++.dg/modules/gmf-xtreme.C
  9cc5403f7ab7363b8ad062d46c71d88c  gcc/testsuite/g++.dg/modules/gnu-inline-1_a.C
  406a898983a86aba6f1a446a6930c7d2  gcc/testsuite/g++.dg/modules/gnu-inline-1_b.C
  d3c95c56a79cc6f5aa1d67c8a8ecffbe  gcc/testsuite/g++.dg/modules/gnu-inline-1_c.C
--- 33705,33711 ----
  1bd7a655531ac448585db06200fbbb28  gcc/testsuite/g++.dg/modules/gmf-3.C
  5acba4ad7210cf8ea467e74a6aac477c  gcc/testsuite/g++.dg/modules/gmf-4.C
  2efc48c188ec78c95b3dd7c2b3d3c796  gcc/testsuite/g++.dg/modules/gmf-5.C
! 0b586e3fe17d5adffa3588f46d3034d6  gcc/testsuite/g++.dg/modules/gmf-xtreme.C
  9cc5403f7ab7363b8ad062d46c71d88c  gcc/testsuite/g++.dg/modules/gnu-inline-1_a.C
  406a898983a86aba6f1a446a6930c7d2  gcc/testsuite/g++.dg/modules/gnu-inline-1_b.C
  d3c95c56a79cc6f5aa1d67c8a8ecffbe  gcc/testsuite/g++.dg/modules/gnu-inline-1_c.C
*************** d5075b90a1d0dfe23d60cb4ab1413d7b  gcc/te
*** 33997,34004 ****
  87cba4398d2152b433d17b4e341eac3b  gcc/testsuite/g++.dg/modules/lto-1_c.C
  6401126dddb754e5b65a3c842daa228d  gcc/testsuite/g++.dg/modules/lto-2_a.H
  39816ae89e53f3a7efa8b229509ef25c  gcc/testsuite/g++.dg/modules/lto-2_b.C
! 1590072f5e6f147b1a0b412f0c3a37f9  gcc/testsuite/g++.dg/modules/lto-3_a.H
! 9da9e8d56d8e1f9eeaf9a5d409c93b0b  gcc/testsuite/g++.dg/modules/lto-3_b.C
  0f59ad51956d4c99091da1599a8fa265  gcc/testsuite/g++.dg/modules/lto-4_a.C
  67b868867a2767bc6da6fc527d8c89f5  gcc/testsuite/g++.dg/modules/lto-4_b.C
  16c505e7ec3f958c4b72ee9779d716a2  gcc/testsuite/g++.dg/modules/macloc-1_a.C
--- 34009,34016 ----
  87cba4398d2152b433d17b4e341eac3b  gcc/testsuite/g++.dg/modules/lto-1_c.C
  6401126dddb754e5b65a3c842daa228d  gcc/testsuite/g++.dg/modules/lto-2_a.H
  39816ae89e53f3a7efa8b229509ef25c  gcc/testsuite/g++.dg/modules/lto-2_b.C
! cf19adc811c3fdb28c1b0c8fba0b171a  gcc/testsuite/g++.dg/modules/lto-3_a.H
! 37f24b296238930966019d55d4e4fcfe  gcc/testsuite/g++.dg/modules/lto-3_b.C
  0f59ad51956d4c99091da1599a8fa265  gcc/testsuite/g++.dg/modules/lto-4_a.C
  67b868867a2767bc6da6fc527d8c89f5  gcc/testsuite/g++.dg/modules/lto-4_b.C
  16c505e7ec3f958c4b72ee9779d716a2  gcc/testsuite/g++.dg/modules/macloc-1_a.C
*************** eef775ab5fb3f5f47aeb09bf155720ca  gcc/te
*** 34456,34462 ****
  4605824ccf3cedff32bc4baa54b25fc1  gcc/testsuite/g++.dg/modules/pr98843_b.H
  dcba3385a9d6327598512baf6ae5d4b5  gcc/testsuite/g++.dg/modules/pr98843_c.C
  5253fd6d14cc0a40d4567e5c44c02e8d  gcc/testsuite/g++.dg/modules/pr98893_a.H
! 314c64499b20688aa41527f17a5391af  gcc/testsuite/g++.dg/modules/pr98893_b.C
  ba54387ee46c4fb19a3ab9a4844cfd61  gcc/testsuite/g++.dg/modules/pr98944_a.C
  ffae0410baa0cf1f144b964387bfbcfe  gcc/testsuite/g++.dg/modules/pr98944_b.C
  701cfcc8c357aa094f34aa029490f60d  gcc/testsuite/g++.dg/modules/pr98944_c.C
--- 34468,34474 ----
  4605824ccf3cedff32bc4baa54b25fc1  gcc/testsuite/g++.dg/modules/pr98843_b.H
  dcba3385a9d6327598512baf6ae5d4b5  gcc/testsuite/g++.dg/modules/pr98843_c.C
  5253fd6d14cc0a40d4567e5c44c02e8d  gcc/testsuite/g++.dg/modules/pr98893_a.H
! 3b57239cebd6a9be77f0a0f44afdcca6  gcc/testsuite/g++.dg/modules/pr98893_b.C
  ba54387ee46c4fb19a3ab9a4844cfd61  gcc/testsuite/g++.dg/modules/pr98944_a.C
  ffae0410baa0cf1f144b964387bfbcfe  gcc/testsuite/g++.dg/modules/pr98944_b.C
  701cfcc8c357aa094f34aa029490f60d  gcc/testsuite/g++.dg/modules/pr98944_c.C
*************** ff334232cd6b06ca02860f7d9e35573b  gcc/te
*** 34994,35000 ****
  63b82749637ed6fb8c7c3635237b5133  gcc/testsuite/g++.dg/modules/xtreme-header-6_c.C
  4ad6625199c4cfe730671a26a7fe5682  gcc/testsuite/g++.dg/modules/xtreme-header-7_a.H
  bd8f06257bf103f736f4f4a11f1d5694  gcc/testsuite/g++.dg/modules/xtreme-header-7_b.C
! d672f59602e40a1fc40d57ce912e8a7e  gcc/testsuite/g++.dg/modules/xtreme-header-8.C
  8d28abdd4430cf521ed158aa2999d543  gcc/testsuite/g++.dg/modules/xtreme-header.h
  4ad6625199c4cfe730671a26a7fe5682  gcc/testsuite/g++.dg/modules/xtreme-header_a.H
  1d3cf642f68c9c90bcb6a7b44de3b836  gcc/testsuite/g++.dg/modules/xtreme-header_b.C
--- 35006,35012 ----
  63b82749637ed6fb8c7c3635237b5133  gcc/testsuite/g++.dg/modules/xtreme-header-6_c.C
  4ad6625199c4cfe730671a26a7fe5682  gcc/testsuite/g++.dg/modules/xtreme-header-7_a.H
  bd8f06257bf103f736f4f4a11f1d5694  gcc/testsuite/g++.dg/modules/xtreme-header-7_b.C
! afa034c7dd3e67253d6a031a76130f3c  gcc/testsuite/g++.dg/modules/xtreme-header-8.C
  8d28abdd4430cf521ed158aa2999d543  gcc/testsuite/g++.dg/modules/xtreme-header.h
  4ad6625199c4cfe730671a26a7fe5682  gcc/testsuite/g++.dg/modules/xtreme-header_a.H
  1d3cf642f68c9c90bcb6a7b44de3b836  gcc/testsuite/g++.dg/modules/xtreme-header_b.C
*************** b8fef9a1bd09e90415f3e35f5466c85c  gcc/te
*** 35228,35234 ****
  6b9ff4b9b47e58f0f5a801795c933b05  gcc/testsuite/g++.dg/opt/pr112374.C
  825c715cc564416b76db4cdff16d60ca  gcc/testsuite/g++.dg/opt/pr113705.C
  0324d31ab64ecdfb74347e2e96dd74d2  gcc/testsuite/g++.dg/opt/pr117439.C
! 94387ea7c9e026ad351c421a15f8fd93  gcc/testsuite/g++.dg/opt/pr119274.C
  149c3b47d16cfa08669bf79341552440  gcc/testsuite/g++.dg/opt/pr119327.C
  f974ff4ce09c3f50fcec3f4ce9c39925  gcc/testsuite/g++.dg/opt/pr119518.C
  c60b844a013ddc3832a59b1cd376b1ad  gcc/testsuite/g++.dg/opt/pr119613.C
--- 35240,35246 ----
  6b9ff4b9b47e58f0f5a801795c933b05  gcc/testsuite/g++.dg/opt/pr112374.C
  825c715cc564416b76db4cdff16d60ca  gcc/testsuite/g++.dg/opt/pr113705.C
  0324d31ab64ecdfb74347e2e96dd74d2  gcc/testsuite/g++.dg/opt/pr117439.C
! 5ac69c158405ad58b01c11aff2cd35c4  gcc/testsuite/g++.dg/opt/pr119274.C
  149c3b47d16cfa08669bf79341552440  gcc/testsuite/g++.dg/opt/pr119327.C
  f974ff4ce09c3f50fcec3f4ce9c39925  gcc/testsuite/g++.dg/opt/pr119518.C
  c60b844a013ddc3832a59b1cd376b1ad  gcc/testsuite/g++.dg/opt/pr119613.C
*************** b67c374c96c5b9bf7bfc34ab5c497627  gcc/te
*** 35238,35243 ****
--- 35250,35256 ----
  71e71bffbc009df79284647622bf0ca6  gcc/testsuite/g++.dg/opt/pr122184-1.C
  d566a0635f6a1e3ba1148b6b36789cd2  gcc/testsuite/g++.dg/opt/pr122184-2.C
  46bab0272c3e399fa4db680833cb9a89  gcc/testsuite/g++.dg/opt/pr122394.C
+ 4be173d1439f1f7bba5720eb1e9c30c0  gcc/testsuite/g++.dg/opt/pr123724.C
  2896f5b1a96dd9fabb1dbb65cb4c5921  gcc/testsuite/g++.dg/opt/pr13066-1.C
  4f87f86b9f018cae74888e97468b2fe0  gcc/testsuite/g++.dg/opt/pr14029.C
  8fb7e68e9e9b5eb02628e03f5333e645  gcc/testsuite/g++.dg/opt/pr14888.C
*************** c5147fdec1f8af57aa91c7960d61a37c  gcc/te
*** 36103,36108 ****
--- 36116,36122 ----
  8e7b288b4c83f50703e3121d871e7ca1  gcc/testsuite/g++.dg/parse/colon-autocorrect-2.C
  cc7bbad3182c61322827fb53d2c0de46  gcc/testsuite/g++.dg/parse/comma1.C
  7a61c8e71deeb5afa8198794ebdf7d32  gcc/testsuite/g++.dg/parse/comma2.C
+ 98a1a2f21d1a9e354ec5c32d17f0b632  gcc/testsuite/g++.dg/parse/comma3.C
  4c4fb9d735c72b92a2a26f198f25d1e5  gcc/testsuite/g++.dg/parse/concat1.C
  73b5fec6848a7932aba299c38c57d8ed  gcc/testsuite/g++.dg/parse/cond1.C
  5b95db4d3d95193611271dcf7d869fe5  gcc/testsuite/g++.dg/parse/cond2.C
*************** adfc90a4ec5f7e6acacbdafc592a2862  gcc/te
*** 36785,36794 ****
  6431e5522e8138d482199836afdeb823  gcc/testsuite/g++.dg/pr114501_0.C
  ad9259e6bdf3bdde202871cc62bd27bb  gcc/testsuite/g++.dg/pr115232.C
  d817d87f4590a7694dcb15ea0a0856a3  gcc/testsuite/g++.dg/pr115605.C
! af4c6212c5e52bf135c1867c6656d88b  gcc/testsuite/g++.dg/pr117222.C
  907af190ec2f3efd086d2b352c9934cd  gcc/testsuite/g++.dg/pr117919.C
  e736fe25d4b99f710b70de0825fffdc1  gcc/testsuite/g++.dg/pr121345.C
  80867666af42eef238ead0c293e5bc0e  gcc/testsuite/g++.dg/pr121757.C
  0ad246e348b6ea4bf54b74b0d8e3dce0  gcc/testsuite/g++.dg/pr123383.C
  2ac64817a39fe1a5c2dc328f4233cda1  gcc/testsuite/g++.dg/pr37742.C
  32b2fbda29ffd2ac2181c43c971f3a7d  gcc/testsuite/g++.dg/pr44328.C
--- 36799,36809 ----
  6431e5522e8138d482199836afdeb823  gcc/testsuite/g++.dg/pr114501_0.C
  ad9259e6bdf3bdde202871cc62bd27bb  gcc/testsuite/g++.dg/pr115232.C
  d817d87f4590a7694dcb15ea0a0856a3  gcc/testsuite/g++.dg/pr115605.C
! c3ec8c8f271e45e00fd96018adef8585  gcc/testsuite/g++.dg/pr117222.C
  907af190ec2f3efd086d2b352c9934cd  gcc/testsuite/g++.dg/pr117919.C
  e736fe25d4b99f710b70de0825fffdc1  gcc/testsuite/g++.dg/pr121345.C
  80867666af42eef238ead0c293e5bc0e  gcc/testsuite/g++.dg/pr121757.C
+ e6de60b5642934aef50f416afd0dfef5  gcc/testsuite/g++.dg/pr122348.C
  0ad246e348b6ea4bf54b74b0d8e3dce0  gcc/testsuite/g++.dg/pr123383.C
  2ac64817a39fe1a5c2dc328f4233cda1  gcc/testsuite/g++.dg/pr37742.C
  32b2fbda29ffd2ac2181c43c971f3a7d  gcc/testsuite/g++.dg/pr44328.C
*************** b6fc6119f5cfb5fe32a5e8b8cb496342  gcc/te
*** 37469,37475 ****
  b20c7245cc70a16f4549d5de46d19bde  gcc/testsuite/g++.dg/reflect/variant1.C
  52f1b07fcecf5b7dfd7849245a01cd09  gcc/testsuite/g++.dg/reflect/variant2.C
  9eb3efd54c1e30ffca6cb34a1f4136d1  gcc/testsuite/g++.dg/reflect/vector1.C
! e8e74fceb6e97f784db7d20c12976a38  gcc/testsuite/g++.dg/reflect/visibility1.C
  2bcb8e987d41c50dbd1de216296fd071  gcc/testsuite/g++.dg/rtti/anon-ns1.C
  7345c9463c7d47c7d425463846af6b14  gcc/testsuite/g++.dg/rtti/crash1.C
  34c4c8f1721c4f70c2261dcc1b0a7630  gcc/testsuite/g++.dg/rtti/crash2.C
--- 37484,37490 ----
  b20c7245cc70a16f4549d5de46d19bde  gcc/testsuite/g++.dg/reflect/variant1.C
  52f1b07fcecf5b7dfd7849245a01cd09  gcc/testsuite/g++.dg/reflect/variant2.C
  9eb3efd54c1e30ffca6cb34a1f4136d1  gcc/testsuite/g++.dg/reflect/vector1.C
! 62d016174539cb0e54555fc2d57fa012  gcc/testsuite/g++.dg/reflect/visibility1.C
  2bcb8e987d41c50dbd1de216296fd071  gcc/testsuite/g++.dg/rtti/anon-ns1.C
  7345c9463c7d47c7d425463846af6b14  gcc/testsuite/g++.dg/rtti/crash1.C
  34c4c8f1721c4f70c2261dcc1b0a7630  gcc/testsuite/g++.dg/rtti/crash2.C
*************** aee2d86d69331bf86f4fc179eaf2f8aa  gcc/te
*** 37523,37529 ****
  3357bf9a2204710e948cb278fb4c4266  gcc/testsuite/g++.dg/simulate-thread/atomics-2.C
  0f9193c70bd9c12ca05e5645fdd35442  gcc/testsuite/g++.dg/simulate-thread/bitfields-2.C
  f9a70819a6e534b6c462618926ea0a80  gcc/testsuite/g++.dg/simulate-thread/bitfields.C
! 0c49db71b6a6f15ce974541c00c88eb1  gcc/testsuite/g++.dg/simulate-thread/simulate-thread.exp
  c6cf9552e831a422e53a8ee8d8817449  gcc/testsuite/g++.dg/simulate-thread/simulate-thread.gdb
  8ed1bb09d81129e522f6ac6dce99d52a  gcc/testsuite/g++.dg/simulate-thread/simulate-thread.h
  2a467b197d39f6d623192355bbc4b5d3  gcc/testsuite/g++.dg/special/conpr-1.C
--- 37538,37544 ----
  3357bf9a2204710e948cb278fb4c4266  gcc/testsuite/g++.dg/simulate-thread/atomics-2.C
  0f9193c70bd9c12ca05e5645fdd35442  gcc/testsuite/g++.dg/simulate-thread/bitfields-2.C
  f9a70819a6e534b6c462618926ea0a80  gcc/testsuite/g++.dg/simulate-thread/bitfields.C
! 1a78e41a8328531c0ed234576113ef8e  gcc/testsuite/g++.dg/simulate-thread/simulate-thread.exp
  c6cf9552e831a422e53a8ee8d8817449  gcc/testsuite/g++.dg/simulate-thread/simulate-thread.gdb
  8ed1bb09d81129e522f6ac6dce99d52a  gcc/testsuite/g++.dg/simulate-thread/simulate-thread.h
  2a467b197d39f6d623192355bbc4b5d3  gcc/testsuite/g++.dg/special/conpr-1.C
*************** ccefc659a7c47911812c4aa74e717a3c  gcc/te
*** 39410,39416 ****
  e0f2cfb1a1f922a19280efa88e1e5f1c  gcc/testsuite/g++.dg/torture/pr105142.C
  55421b614773ff9e900b6ad17ffe7df3  gcc/testsuite/g++.dg/torture/pr105189.C
  2f5be7c92fa23dea959ab17d5b766c87  gcc/testsuite/g++.dg/torture/pr105577.C
! e104405906378279d06ac0141c114191  gcc/testsuite/g++.dg/torture/pr105769-1.C
  42b175a7c38d6a15012b0e11d9e7457d  gcc/testsuite/g++.dg/torture/pr106131.C
  606eb4fbdb11ed8e8de47cb3c7218dff  gcc/testsuite/g++.dg/torture/pr106922.C
  969b42bbb4cb9492e8474f8e7a941812  gcc/testsuite/g++.dg/torture/pr107029.C
--- 39425,39431 ----
  e0f2cfb1a1f922a19280efa88e1e5f1c  gcc/testsuite/g++.dg/torture/pr105142.C
  55421b614773ff9e900b6ad17ffe7df3  gcc/testsuite/g++.dg/torture/pr105189.C
  2f5be7c92fa23dea959ab17d5b766c87  gcc/testsuite/g++.dg/torture/pr105577.C
! 70131fdc7fbf1ff9e093e9eaa3589142  gcc/testsuite/g++.dg/torture/pr105769-1.C
  42b175a7c38d6a15012b0e11d9e7457d  gcc/testsuite/g++.dg/torture/pr106131.C
  606eb4fbdb11ed8e8de47cb3c7218dff  gcc/testsuite/g++.dg/torture/pr106922.C
  969b42bbb4cb9492e8474f8e7a941812  gcc/testsuite/g++.dg/torture/pr107029.C
*************** e8b09238e87e73505d31392aeef0e4b5  gcc/te
*** 39446,39452 ****
  f052d3af1586cf42bf5ec8d92e1621ac  gcc/testsuite/g++.dg/torture/pr116927-1.C
  17ed764fa5d3f0ee6d17ed54d9664c47  gcc/testsuite/g++.dg/torture/pr117341-1.C
  372a5372bc2611240b35fde2512f27e9  gcc/testsuite/g++.dg/torture/pr118320.C
! ae883844cdffe266994223192fd8cd35  gcc/testsuite/g++.dg/torture/pr118521.C
  2bffdcc852269ef39931c90697749c65  gcc/testsuite/g++.dg/torture/pr118795.C
  63536614f7fbde6017f097b11aa3e6d9  gcc/testsuite/g++.dg/torture/pr118973.C
  f298eddbaaad3dfdc15f6cf9683ff08a  gcc/testsuite/g++.dg/torture/pr11911.C
--- 39461,39467 ----
  f052d3af1586cf42bf5ec8d92e1621ac  gcc/testsuite/g++.dg/torture/pr116927-1.C
  17ed764fa5d3f0ee6d17ed54d9664c47  gcc/testsuite/g++.dg/torture/pr117341-1.C
  372a5372bc2611240b35fde2512f27e9  gcc/testsuite/g++.dg/torture/pr118320.C
! 53cb287dc9989d9c34db179316468293  gcc/testsuite/g++.dg/torture/pr118521.C
  2bffdcc852269ef39931c90697749c65  gcc/testsuite/g++.dg/torture/pr118795.C
  63536614f7fbde6017f097b11aa3e6d9  gcc/testsuite/g++.dg/torture/pr118973.C
  f298eddbaaad3dfdc15f6cf9683ff08a  gcc/testsuite/g++.dg/torture/pr11911.C
*************** a7a00125ef903c9e5ba25788e8c60eab  gcc/te
*** 39459,39464 ****
--- 39474,39481 ----
  335f20fd55847f9861ff378b9be0f1bc  gcc/testsuite/g++.dg/torture/pr122589.C
  04115c46931023150cac2508ab43b9ff  gcc/testsuite/g++.dg/torture/pr122663.C
  ca9be1f2aa5374ea9f72ea31bc874ec1  gcc/testsuite/g++.dg/torture/pr123040.C
+ fd8e483532e07909315ca8711ef4503b  gcc/testsuite/g++.dg/torture/pr123603.C
+ ca7ea9ef86090651fbec9289f32896ab  gcc/testsuite/g++.dg/torture/pr123729.C
  161154ed9f6193a2a7da119e068c3f3f  gcc/testsuite/g++.dg/torture/pr27218.C
  a84e9fff95df4801f8e582fbc33303b8  gcc/testsuite/g++.dg/torture/pr30252.C
  e980bf95890544d46879b89f7aa98df6  gcc/testsuite/g++.dg/torture/pr30567.C
*************** d5faa1fd9db0537a20703336005ef3a9  gcc/te
*** 39982,39997 ****
  87d33077dde5db2d1e9e001bd82dc9cd  gcc/testsuite/g++.dg/tree-ssa/counts-1.C
  6c20484753d2fb5081463a83f21e1f85  gcc/testsuite/g++.dg/tree-ssa/cprop-vcond.C
  07b1e4890a409f46ccb7c36b8d58049a  gcc/testsuite/g++.dg/tree-ssa/cselim-1.C
! e839ec81426b140ca13726e25c99138a  gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-1.C
! 66e4bde98cbee7bd23264483e5ef71cd  gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-2.C
! 30afa65875baa79df26509c2a82b9498  gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-3.C
! e0604388882a46e9407a0d05776d16b0  gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-4.C
! 909c0f6b061a1cc89541769b9c3ea665  gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-5.C
! 455b3771f33a9617ffa9985bcb1194d3  gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-6.C
  1c0fdcaed89b57202587a0633c039bd2  gcc/testsuite/g++.dg/tree-ssa/dce-1.C
  ac99be7ada2631c077352f322dd05ca0  gcc/testsuite/g++.dg/tree-ssa/deleted-label1.C
! 278aa733a9d93708c883e0a1c2f93c8e  gcc/testsuite/g++.dg/tree-ssa/deque-1.C
! abb492602541457e4aba2ed909965bda  gcc/testsuite/g++.dg/tree-ssa/deque-2.C
  3d03c195106b9dca6ef1e559e1c02837  gcc/testsuite/g++.dg/tree-ssa/devirt-array-destructor-1.C
  15796713f99d392ab08637a25729b3d9  gcc/testsuite/g++.dg/tree-ssa/devirt-array-destructor-2.C
  ef3a26a28db0f953ec307b6c4c4b973b  gcc/testsuite/g++.dg/tree-ssa/dom-invalid.C
--- 39999,40014 ----
  87d33077dde5db2d1e9e001bd82dc9cd  gcc/testsuite/g++.dg/tree-ssa/counts-1.C
  6c20484753d2fb5081463a83f21e1f85  gcc/testsuite/g++.dg/tree-ssa/cprop-vcond.C
  07b1e4890a409f46ccb7c36b8d58049a  gcc/testsuite/g++.dg/tree-ssa/cselim-1.C
! f1e2d69bd2d28a11de3244540a082bbc  gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-1.C
! fdea8740a4efff7898008f8e6da28c25  gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-2.C
! ad96242e37b4386a1eb698f51eb26453  gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-3.C
! 558e625d85467aa5b2eadfe32416a254  gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-4.C
! f150b5f8f86c59a95cb4bd08efbcaeee  gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-5.C
! 5a95aa2041af792391b042ddbd2ee407  gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-6.C
  1c0fdcaed89b57202587a0633c039bd2  gcc/testsuite/g++.dg/tree-ssa/dce-1.C
  ac99be7ada2631c077352f322dd05ca0  gcc/testsuite/g++.dg/tree-ssa/deleted-label1.C
! 4d4ba7adeaa38214edcbdf53e8aab503  gcc/testsuite/g++.dg/tree-ssa/deque-1.C
! 156bd361f7267877e385ad46398a1638  gcc/testsuite/g++.dg/tree-ssa/deque-2.C
  3d03c195106b9dca6ef1e559e1c02837  gcc/testsuite/g++.dg/tree-ssa/devirt-array-destructor-1.C
  15796713f99d392ab08637a25729b3d9  gcc/testsuite/g++.dg/tree-ssa/devirt-array-destructor-2.C
  ef3a26a28db0f953ec307b6c4c4b973b  gcc/testsuite/g++.dg/tree-ssa/dom-invalid.C
*************** a311d1ab8635e5105a1bbfc32c26cf9c  gcc/te
*** 40054,40071 ****
  f95e009eb80810faddca573e232d899e  gcc/testsuite/g++.dg/tree-ssa/pr106936.C
  473b75bc40f72c03a042a150d43cb69b  gcc/testsuite/g++.dg/tree-ssa/pr107206.C
  5f9aef2211a5b0981f2a79d22debe366  gcc/testsuite/g++.dg/tree-ssa/pr107876.C
! 977c0dee4fe2e95875cc54b06d853373  gcc/testsuite/g++.dg/tree-ssa/pr109442.C
  f4f07a8666ff936288fa407bf0fed911  gcc/testsuite/g++.dg/tree-ssa/pr109849.C
  4ddff8593905cb178eb50a3ea8c2e777  gcc/testsuite/g++.dg/tree-ssa/pr110137-1.C
  355027cc58503e05e29800bf7c36a1a4  gcc/testsuite/g++.dg/tree-ssa/pr110137-2.C
  dc6a238805ecdc2ab0fc81b61b0d8518  gcc/testsuite/g++.dg/tree-ssa/pr110137-3.C
  9f8efa56edaac04ff0c8319a7ad0f3a7  gcc/testsuite/g++.dg/tree-ssa/pr110137-4.C
! 3dc63c00ed79b2950a952a38c0ff927a  gcc/testsuite/g++.dg/tree-ssa/pr110819.C
  a96998418d91d4b5dc3f731cea3de4a2  gcc/testsuite/g++.dg/tree-ssa/pr111150.C
  6251f80b5a27a83b79ac65cc3a6f662b  gcc/testsuite/g++.dg/tree-ssa/pr112711.C
  8e86c1b355d9ed5ad78d7f6211d5f327  gcc/testsuite/g++.dg/tree-ssa/pr114589.C
  1ed2f7f5509c5567092c5b86b727d17e  gcc/testsuite/g++.dg/tree-ssa/pr115275.C
! 0aeecfb1b13af650651c7b02e3cac91a  gcc/testsuite/g++.dg/tree-ssa/pr116868.C
  73c27718ec3b9a0e61a4bcb3fb1a28a3  gcc/testsuite/g++.dg/tree-ssa/pr117123.C
  82fde88840bd9ced80ca703c33fb8d73  gcc/testsuite/g++.dg/tree-ssa/pr117965-1.C
  201851a6bde948fe39368db60e2fedc7  gcc/testsuite/g++.dg/tree-ssa/pr117965-2.C
--- 40071,40088 ----
  f95e009eb80810faddca573e232d899e  gcc/testsuite/g++.dg/tree-ssa/pr106936.C
  473b75bc40f72c03a042a150d43cb69b  gcc/testsuite/g++.dg/tree-ssa/pr107206.C
  5f9aef2211a5b0981f2a79d22debe366  gcc/testsuite/g++.dg/tree-ssa/pr107876.C
! 8ff0b5d1a04de19b6bf1a5bb923ec2e1  gcc/testsuite/g++.dg/tree-ssa/pr109442.C
  f4f07a8666ff936288fa407bf0fed911  gcc/testsuite/g++.dg/tree-ssa/pr109849.C
  4ddff8593905cb178eb50a3ea8c2e777  gcc/testsuite/g++.dg/tree-ssa/pr110137-1.C
  355027cc58503e05e29800bf7c36a1a4  gcc/testsuite/g++.dg/tree-ssa/pr110137-2.C
  dc6a238805ecdc2ab0fc81b61b0d8518  gcc/testsuite/g++.dg/tree-ssa/pr110137-3.C
  9f8efa56edaac04ff0c8319a7ad0f3a7  gcc/testsuite/g++.dg/tree-ssa/pr110137-4.C
! 1090e45b1a9f80fe73e3eb3ed4bb9c71  gcc/testsuite/g++.dg/tree-ssa/pr110819.C
  a96998418d91d4b5dc3f731cea3de4a2  gcc/testsuite/g++.dg/tree-ssa/pr111150.C
  6251f80b5a27a83b79ac65cc3a6f662b  gcc/testsuite/g++.dg/tree-ssa/pr112711.C
  8e86c1b355d9ed5ad78d7f6211d5f327  gcc/testsuite/g++.dg/tree-ssa/pr114589.C
  1ed2f7f5509c5567092c5b86b727d17e  gcc/testsuite/g++.dg/tree-ssa/pr115275.C
! bd9c2b59a2d08bc8b4c7a43415693ca4  gcc/testsuite/g++.dg/tree-ssa/pr116868.C
  73c27718ec3b9a0e61a4bcb3fb1a28a3  gcc/testsuite/g++.dg/tree-ssa/pr117123.C
  82fde88840bd9ced80ca703c33fb8d73  gcc/testsuite/g++.dg/tree-ssa/pr117965-1.C
  201851a6bde948fe39368db60e2fedc7  gcc/testsuite/g++.dg/tree-ssa/pr117965-2.C
*************** deec61f943ce8761e57e704eca7387bf  gcc/te
*** 40188,40194 ****
  a82ef6cbe78155176eca6d640870c3a5  gcc/testsuite/g++.dg/tree-ssa/pr54515.C
  593421a5d3ebb23b2a8557b822cdedc8  gcc/testsuite/g++.dg/tree-ssa/pr57380.C
  aede2b8b0e588c69fda0fe198997fde3  gcc/testsuite/g++.dg/tree-ssa/pr58404.C
! 3dc63c00ed79b2950a952a38c0ff927a  gcc/testsuite/g++.dg/tree-ssa/pr58483.C
  91a1f7d15ec818113b5e750ce336fdfe  gcc/testsuite/g++.dg/tree-ssa/pr61009.C
  71bb74bb806493b58a3b664f2347b63c  gcc/testsuite/g++.dg/tree-ssa/pr61034.C
  553408007ce5848f01d3beaeaaf68f8f  gcc/testsuite/g++.dg/tree-ssa/pr63841.C
--- 40205,40211 ----
  a82ef6cbe78155176eca6d640870c3a5  gcc/testsuite/g++.dg/tree-ssa/pr54515.C
  593421a5d3ebb23b2a8557b822cdedc8  gcc/testsuite/g++.dg/tree-ssa/pr57380.C
  aede2b8b0e588c69fda0fe198997fde3  gcc/testsuite/g++.dg/tree-ssa/pr58404.C
! 1090e45b1a9f80fe73e3eb3ed4bb9c71  gcc/testsuite/g++.dg/tree-ssa/pr58483.C
  91a1f7d15ec818113b5e750ce336fdfe  gcc/testsuite/g++.dg/tree-ssa/pr61009.C
  71bb74bb806493b58a3b664f2347b63c  gcc/testsuite/g++.dg/tree-ssa/pr61034.C
  553408007ce5848f01d3beaeaaf68f8f  gcc/testsuite/g++.dg/tree-ssa/pr63841.C
*************** d76420e1226aa1468c75b30c5f6c8137  gcc/te
*** 40202,40208 ****
  c495609cd191f9864eec82a6009c7c1b  gcc/testsuite/g++.dg/tree-ssa/pr78847.C
  4dd9b463d938a2a49979c117342e2bdd  gcc/testsuite/g++.dg/tree-ssa/pr79159.C
  d3522c1a0ee5ce4a75cee9a89f394737  gcc/testsuite/g++.dg/tree-ssa/pr80293.C
! b76ee331aeace06b4b2afd3606f96c82  gcc/testsuite/g++.dg/tree-ssa/pr80331.C
  f8e59bfb825e83395c2fc6015cf29cbe  gcc/testsuite/g++.dg/tree-ssa/pr81408.C
  8b26e12d4d19370d3975bee970535253  gcc/testsuite/g++.dg/tree-ssa/pr81702.C
  07328ee6469ac64e4bd4807c2a72bd66  gcc/testsuite/g++.dg/tree-ssa/pr81719.C
--- 40219,40225 ----
  c495609cd191f9864eec82a6009c7c1b  gcc/testsuite/g++.dg/tree-ssa/pr78847.C
  4dd9b463d938a2a49979c117342e2bdd  gcc/testsuite/g++.dg/tree-ssa/pr79159.C
  d3522c1a0ee5ce4a75cee9a89f394737  gcc/testsuite/g++.dg/tree-ssa/pr80293.C
! 6373a3366c155773f78b9bf8b545c4ed  gcc/testsuite/g++.dg/tree-ssa/pr80331.C
  f8e59bfb825e83395c2fc6015cf29cbe  gcc/testsuite/g++.dg/tree-ssa/pr81408.C
  8b26e12d4d19370d3975bee970535253  gcc/testsuite/g++.dg/tree-ssa/pr81702.C
  07328ee6469ac64e4bd4807c2a72bd66  gcc/testsuite/g++.dg/tree-ssa/pr81719.C
*************** c0b65a34728bd0641ed11250d156dd96  gcc/te
*** 40214,40220 ****
  33c3ca116bd47b630a440a6f2c7764db  gcc/testsuite/g++.dg/tree-ssa/pr86544.C
  b275e1ed3abd90cc7e8e421e8c6062b9  gcc/testsuite/g++.dg/tree-ssa/pr87008.C
  cfcb017784f2c8d78d4dc8299526d486  gcc/testsuite/g++.dg/tree-ssa/pr87436.C
! f27d259523b74873b4f896b76c2504a2  gcc/testsuite/g++.dg/tree-ssa/pr87502.C
  ea4e143932bfcde8a35c6a9f47ca6cde  gcc/testsuite/g++.dg/tree-ssa/pr87686.C
  3994473d87cf2cf8e4060f87f4631734  gcc/testsuite/g++.dg/tree-ssa/pr8781.C
  34be04a2a8ccec91647967353a92f38e  gcc/testsuite/g++.dg/tree-ssa/pr88152-1.C
--- 40231,40237 ----
  33c3ca116bd47b630a440a6f2c7764db  gcc/testsuite/g++.dg/tree-ssa/pr86544.C
  b275e1ed3abd90cc7e8e421e8c6062b9  gcc/testsuite/g++.dg/tree-ssa/pr87008.C
  cfcb017784f2c8d78d4dc8299526d486  gcc/testsuite/g++.dg/tree-ssa/pr87436.C
! 1c27778608f1c91a1c26b5b9c9673c92  gcc/testsuite/g++.dg/tree-ssa/pr87502.C
  ea4e143932bfcde8a35c6a9f47ca6cde  gcc/testsuite/g++.dg/tree-ssa/pr87686.C
  3994473d87cf2cf8e4060f87f4631734  gcc/testsuite/g++.dg/tree-ssa/pr8781.C
  34be04a2a8ccec91647967353a92f38e  gcc/testsuite/g++.dg/tree-ssa/pr88152-1.C
*************** e3fc8e52e34eeab2a0ee22888a080920  gcc/te
*** 40234,40240 ****
  e00458ee3b348a8ddb1466158e1af7b0  gcc/testsuite/g++.dg/tree-ssa/pr95638.C
  8cb82713ae80f84d454074acf0670135  gcc/testsuite/g++.dg/tree-ssa/pr95649.C
  e53cec97097a9dc8117c2effbf4ea8d5  gcc/testsuite/g++.dg/tree-ssa/pr96930.C
! 8179fc8d02bf719986af1f5ce19dcda8  gcc/testsuite/g++.dg/tree-ssa/pr96945.C
  632b446e932f27efac2329d2234eb487  gcc/testsuite/g++.dg/tree-ssa/pr96979.C
  070d15097a92bcf12a8f98ecaa8b021c  gcc/testsuite/g++.dg/tree-ssa/pr97736.C
  a9b57d67f7b86dda8e925205f9d81b12  gcc/testsuite/g++.dg/tree-ssa/pr98265.C
--- 40251,40257 ----
  e00458ee3b348a8ddb1466158e1af7b0  gcc/testsuite/g++.dg/tree-ssa/pr95638.C
  8cb82713ae80f84d454074acf0670135  gcc/testsuite/g++.dg/tree-ssa/pr95649.C
  e53cec97097a9dc8117c2effbf4ea8d5  gcc/testsuite/g++.dg/tree-ssa/pr96930.C
! f7c2d3f700bfbeb8d709897a026f72e6  gcc/testsuite/g++.dg/tree-ssa/pr96945.C
  632b446e932f27efac2329d2234eb487  gcc/testsuite/g++.dg/tree-ssa/pr96979.C
  070d15097a92bcf12a8f98ecaa8b021c  gcc/testsuite/g++.dg/tree-ssa/pr97736.C
  a9b57d67f7b86dda8e925205f9d81b12  gcc/testsuite/g++.dg/tree-ssa/pr98265.C
*************** cbba22e9568932c7e9798b4143e8babf  gcc/te
*** 40259,40265 ****
  96f8700e9d4c1998c5e9b1d7fb20edd1  gcc/testsuite/g++.dg/tree-ssa/ssa-sra-2.C
  3fc97853b7f5a33a82d43b9c8b97e80a  gcc/testsuite/g++.dg/tree-ssa/ssa-sra-3.C
  21d667243f1873cc74a1060b9e5a0f15  gcc/testsuite/g++.dg/tree-ssa/ssa-store-ccp-1.C
! 953a8a51c8a8a352b27ca078389cd3a7  gcc/testsuite/g++.dg/tree-ssa/string-1.C
  cba0d4ad4eb20d07d7b8faa8a679415f  gcc/testsuite/g++.dg/tree-ssa/string-strlen-1.C
  23df56c1ec29f9a5d4f481355d17c3dc  gcc/testsuite/g++.dg/tree-ssa/strlenopt-1.C
  948d00fc979cc2bd7b0f86e83a4eb496  gcc/testsuite/g++.dg/tree-ssa/strlenopt-2.C
--- 40276,40282 ----
  96f8700e9d4c1998c5e9b1d7fb20edd1  gcc/testsuite/g++.dg/tree-ssa/ssa-sra-2.C
  3fc97853b7f5a33a82d43b9c8b97e80a  gcc/testsuite/g++.dg/tree-ssa/ssa-sra-3.C
  21d667243f1873cc74a1060b9e5a0f15  gcc/testsuite/g++.dg/tree-ssa/ssa-store-ccp-1.C
! 4f26cbba2a7cc7465dbc9110c160cd8a  gcc/testsuite/g++.dg/tree-ssa/string-1.C
  cba0d4ad4eb20d07d7b8faa8a679415f  gcc/testsuite/g++.dg/tree-ssa/string-strlen-1.C
  23df56c1ec29f9a5d4f481355d17c3dc  gcc/testsuite/g++.dg/tree-ssa/strlenopt-1.C
  948d00fc979cc2bd7b0f86e83a4eb496  gcc/testsuite/g++.dg/tree-ssa/strlenopt-2.C
*************** d2fc50e3e2e5832d3cb6945d13759363  gcc/te
*** 42913,42919 ****
  b0c65347d9c4f297c3a2a451a8826279  gcc/testsuite/g++.old-deja/g++.mike/eh28.C
  b7ee4c7bc6f0c7167eca23b9efdb9f8c  gcc/testsuite/g++.old-deja/g++.mike/eh29.C
  b7fa20379a5b48ef16b0a75fd8198fb6  gcc/testsuite/g++.old-deja/g++.mike/eh3.C
! 1dc3deea4e99a8ba7ca8ec0b2d018452  gcc/testsuite/g++.old-deja/g++.mike/eh30.C
  68bc71cf1693b679ec89fdfbdca319d7  gcc/testsuite/g++.old-deja/g++.mike/eh31.C
  17875da95a253b79fa1e5e982394cdf2  gcc/testsuite/g++.old-deja/g++.mike/eh32.C
  c57b3f69b4396a7bd59c0659cac52b65  gcc/testsuite/g++.old-deja/g++.mike/eh33.C
--- 42930,42936 ----
  b0c65347d9c4f297c3a2a451a8826279  gcc/testsuite/g++.old-deja/g++.mike/eh28.C
  b7ee4c7bc6f0c7167eca23b9efdb9f8c  gcc/testsuite/g++.old-deja/g++.mike/eh29.C
  b7fa20379a5b48ef16b0a75fd8198fb6  gcc/testsuite/g++.old-deja/g++.mike/eh3.C
! 1daacd811e61437103af886d044c05c4  gcc/testsuite/g++.old-deja/g++.mike/eh30.C
  68bc71cf1693b679ec89fdfbdca319d7  gcc/testsuite/g++.old-deja/g++.mike/eh31.C
  17875da95a253b79fa1e5e982394cdf2  gcc/testsuite/g++.old-deja/g++.mike/eh32.C
  c57b3f69b4396a7bd59c0659cac52b65  gcc/testsuite/g++.old-deja/g++.mike/eh33.C
*************** c02eafb028d82f1c577cfa700db86211  gcc/te
*** 43110,43116 ****
  e79018dfdcda343a7caddbb25a5b7da3  gcc/testsuite/g++.old-deja/g++.mike/p4736a.C
  9fc1513d5865274bf37c59b71c8f97ae  gcc/testsuite/g++.old-deja/g++.mike/p4736b.C
  c1acbf8597dd2cbb95d9cb9fc5e04912  gcc/testsuite/g++.old-deja/g++.mike/p4736c.C
! 8ac43191f98210fa0bcfdc44d55770e3  gcc/testsuite/g++.old-deja/g++.mike/p4750.C
  1a935fddf8f373c48dd3eee1ba9c897d  gcc/testsuite/g++.old-deja/g++.mike/p5469.C
  8ea133c89aeac2630522f766a59283bf  gcc/testsuite/g++.old-deja/g++.mike/p5469a.C
  7862ccbfc24631e1c8cc9f04873dfb41  gcc/testsuite/g++.old-deja/g++.mike/p5571.C
--- 43127,43133 ----
  e79018dfdcda343a7caddbb25a5b7da3  gcc/testsuite/g++.old-deja/g++.mike/p4736a.C
  9fc1513d5865274bf37c59b71c8f97ae  gcc/testsuite/g++.old-deja/g++.mike/p4736b.C
  c1acbf8597dd2cbb95d9cb9fc5e04912  gcc/testsuite/g++.old-deja/g++.mike/p4736c.C
! 76e567545ba5a7549bd7c376716a8ba5  gcc/testsuite/g++.old-deja/g++.mike/p4750.C
  1a935fddf8f373c48dd3eee1ba9c897d  gcc/testsuite/g++.old-deja/g++.mike/p5469.C
  8ea133c89aeac2630522f766a59283bf  gcc/testsuite/g++.old-deja/g++.mike/p5469a.C
  7862ccbfc24631e1c8cc9f04873dfb41  gcc/testsuite/g++.old-deja/g++.mike/p5571.C
*************** ee83a1efbd7590614fbf204920c56047  gcc/te
*** 44650,44656 ****
  16b83875b8a1cbbdb43a0c94bc18228d  gcc/testsuite/g++.old-deja/g++.robertl/eb103.C
  d0815bd10637ef31f290d081ddbda880  gcc/testsuite/g++.old-deja/g++.robertl/eb104.C
  3659e47043ebbb544b5bad1e021405df  gcc/testsuite/g++.old-deja/g++.robertl/eb105.C
! 5ef889682d511f0ac101f0885f5a3831  gcc/testsuite/g++.old-deja/g++.robertl/eb106.C
  3e53dc52c997be42c47ab4e29c760531  gcc/testsuite/g++.old-deja/g++.robertl/eb107.C
  a3612f3f68ec2ae185d88189192c82c3  gcc/testsuite/g++.old-deja/g++.robertl/eb108.C
  2cb00c65a036089bf7eadb6cd1790e6e  gcc/testsuite/g++.old-deja/g++.robertl/eb109.C
--- 44667,44673 ----
  16b83875b8a1cbbdb43a0c94bc18228d  gcc/testsuite/g++.old-deja/g++.robertl/eb103.C
  d0815bd10637ef31f290d081ddbda880  gcc/testsuite/g++.old-deja/g++.robertl/eb104.C
  3659e47043ebbb544b5bad1e021405df  gcc/testsuite/g++.old-deja/g++.robertl/eb105.C
! 16a7df1eff310588240b57d7514b958a  gcc/testsuite/g++.old-deja/g++.robertl/eb106.C
  3e53dc52c997be42c47ab4e29c760531  gcc/testsuite/g++.old-deja/g++.robertl/eb107.C
  a3612f3f68ec2ae185d88189192c82c3  gcc/testsuite/g++.old-deja/g++.robertl/eb108.C
  2cb00c65a036089bf7eadb6cd1790e6e  gcc/testsuite/g++.old-deja/g++.robertl/eb109.C
*************** a085e6cf1eca394616113132643a792e  gcc/te
*** 44750,44756 ****
  1eb9a1d899e84b46785ab32efead0469  gcc/testsuite/g++.old-deja/g++.robertl/eb80.C
  78c03dfd8616d6624f4aa754373b8727  gcc/testsuite/g++.old-deja/g++.robertl/eb81.C
  ecb46cabaa1f14e48503417b0826e628  gcc/testsuite/g++.old-deja/g++.robertl/eb82.C
! 56310fd9753a3eedbd6a8e72fcce013e  gcc/testsuite/g++.old-deja/g++.robertl/eb83.C
  82ebc0a368a4d3db129faff1d32ded02  gcc/testsuite/g++.old-deja/g++.robertl/eb84.C
  451d74d332d1ebd3febbf9f2fdef05d5  gcc/testsuite/g++.old-deja/g++.robertl/eb86.C
  1b1d44ab52323a9942ada2f5c6a0042c  gcc/testsuite/g++.old-deja/g++.robertl/eb87.C
--- 44767,44773 ----
  1eb9a1d899e84b46785ab32efead0469  gcc/testsuite/g++.old-deja/g++.robertl/eb80.C
  78c03dfd8616d6624f4aa754373b8727  gcc/testsuite/g++.old-deja/g++.robertl/eb81.C
  ecb46cabaa1f14e48503417b0826e628  gcc/testsuite/g++.old-deja/g++.robertl/eb82.C
! 601125547d612ca917029b5cd7b66253  gcc/testsuite/g++.old-deja/g++.robertl/eb83.C
  82ebc0a368a4d3db129faff1d32ded02  gcc/testsuite/g++.old-deja/g++.robertl/eb84.C
  451d74d332d1ebd3febbf9f2fdef05d5  gcc/testsuite/g++.old-deja/g++.robertl/eb86.C
  1b1d44ab52323a9942ada2f5c6a0042c  gcc/testsuite/g++.old-deja/g++.robertl/eb87.C
*************** c79154d30246903274765e2b9d7c357f  gcc/te
*** 45389,45394 ****
--- 45406,45412 ----
  24bcd366c1f73bbdb2384bbd350965f1  gcc/testsuite/g++.target/loongarch/mvc-symbols5.C
  3e379ce66f2b5fd83481c50aad661033  gcc/testsuite/g++.target/loongarch/pr106096.C
  ea39586991aa764e867af747da8c3d65  gcc/testsuite/g++.target/loongarch/pr106828.C
+ beefcfa1d7ebe27a8c765de46d63bba5  gcc/testsuite/g++.target/loongarch/pr117575.C
  ad61712893b927ca473f6020f822e9e2  gcc/testsuite/g++.target/loongarch/vect-ashr-lshr.C
  f13d97450413e73ef42096f6d86f33b9  gcc/testsuite/g++.target/loongarch/vect-copysign-negconst-run.C
  20d9436c682a4415acafb5c98046ba99  gcc/testsuite/g++.target/loongarch/vect-copysign-negconst.C
*************** ba307c947af4df2e0ff2f70272caf68a  gcc/te
*** 46738,46743 ****
--- 46756,46762 ----
  b20dd8a4cdcf6dd51489456d26453893  gcc/testsuite/gcc.c-torture/compile/pr122066.c
  46eb20294e18878710a761cb15ba8fd5  gcc/testsuite/gcc.c-torture/compile/pr122588-1.c
  9696537bbd1354b5d13d3e674cf11570  gcc/testsuite/gcc.c-torture/compile/pr123069.c
+ ffc2d0352a16ed7c76c12152bde69753  gcc/testsuite/gcc.c-torture/compile/pr123703.c
  33c7141fcf5b1add3ddd2be0100f1f0d  gcc/testsuite/gcc.c-torture/compile/pr12517.c
  ec16b12ab11c499bf321be18ea59da33  gcc/testsuite/gcc.c-torture/compile/pr12578.c
  86f3d5cf87d24e97aa663b79f2d0ac5d  gcc/testsuite/gcc.c-torture/compile/pr12899.c
*************** e88a36f4cba0e85d5491d4b566b19508  gcc/te
*** 48902,48907 ****
--- 48921,48927 ----
  6cd050f88ca0f122ca3d062c32ebb9cf  gcc/testsuite/gcc.c-torture/execute/pr120630.c
  eda2af339f8dd266a02b2d61a5444a03  gcc/testsuite/gcc.c-torture/execute/pr120677.c
  529fc2a1e92dc790d3766cd8554fc89c  gcc/testsuite/gcc.c-torture/execute/pr122943.c
+ 55bc090de1c97a85eaf8103e85c7cb36  gcc/testsuite/gcc.c-torture/execute/pr123753.c
  80c02c70a0b6b91b06942e395c34960f  gcc/testsuite/gcc.c-torture/execute/pr15262-1.c
  987c511633ad57d9f08d352eb9512819  gcc/testsuite/gcc.c-torture/execute/pr15262-2.c
  f7f514cfbd791b0c828e0710493b0910  gcc/testsuite/gcc.c-torture/execute/pr15262.c
*************** c69bc42cc08ae08138f337ef58c638f6  gcc/te
*** 49610,49616 ****
  ce6b1c788064aa70e5abe4bfce85fa42  gcc/testsuite/gcc.dg/20020122-2.c
  c55791661c0233f5c555ecb739a287b1  gcc/testsuite/gcc.dg/20020122-3.c
  a7c72bd6aaf9dfbb7dc938acbaa6464d  gcc/testsuite/gcc.dg/20020122-4.c
! 6512b138fef74e603cc7c1c6d5e1f0ce  gcc/testsuite/gcc.dg/20020201-1.c
  a314ab9d8d3e4818826dc35a5aed87e4  gcc/testsuite/gcc.dg/20020206-1.c
  08a65114d547473faf30f0e9b44e2237  gcc/testsuite/gcc.dg/20020210-1.c
  43068890ac80566aa7e98dba534ea0c4  gcc/testsuite/gcc.dg/20020219-1.c
--- 49630,49636 ----
  ce6b1c788064aa70e5abe4bfce85fa42  gcc/testsuite/gcc.dg/20020122-2.c
  c55791661c0233f5c555ecb739a287b1  gcc/testsuite/gcc.dg/20020122-3.c
  a7c72bd6aaf9dfbb7dc938acbaa6464d  gcc/testsuite/gcc.dg/20020122-4.c
! 6e8ad0855b118001da2add136237af3d  gcc/testsuite/gcc.dg/20020201-1.c
  a314ab9d8d3e4818826dc35a5aed87e4  gcc/testsuite/gcc.dg/20020206-1.c
  08a65114d547473faf30f0e9b44e2237  gcc/testsuite/gcc.dg/20020210-1.c
  43068890ac80566aa7e98dba534ea0c4  gcc/testsuite/gcc.dg/20020219-1.c
*************** d69ed87a55d888352718347a2a8941ed  gcc/te
*** 50755,50761 ****
  8cc3898af0a69e855c7e410e054bcdc7  gcc/testsuite/gcc.dg/analyzer/pr93032-mztools-unsigned-char.c
  cc4f1b774a13c67a9f8bbca94a00ad9f  gcc/testsuite/gcc.dg/analyzer/pr93355-localealias-feasibility-2.c
  f89e5ecde804b807979bb260986f6283  gcc/testsuite/gcc.dg/analyzer/pr93355-localealias-feasibility.c
! 8782b454f5b8ff380e7f855a686943c3  gcc/testsuite/gcc.dg/analyzer/pr93355-localealias.c
  28bffa1aa880310d0b489566f5e5ed3c  gcc/testsuite/gcc.dg/analyzer/pr93375.c
  021f43de56975850b127f298839bb9f5  gcc/testsuite/gcc.dg/analyzer/pr93382.c
  e5b15ee45fe6adafc7624ced3274120b  gcc/testsuite/gcc.dg/analyzer/pr94458.c
--- 50775,50781 ----
  8cc3898af0a69e855c7e410e054bcdc7  gcc/testsuite/gcc.dg/analyzer/pr93032-mztools-unsigned-char.c
  cc4f1b774a13c67a9f8bbca94a00ad9f  gcc/testsuite/gcc.dg/analyzer/pr93355-localealias-feasibility-2.c
  f89e5ecde804b807979bb260986f6283  gcc/testsuite/gcc.dg/analyzer/pr93355-localealias-feasibility.c
! 7a157f71154c27cccf447319b7894134  gcc/testsuite/gcc.dg/analyzer/pr93355-localealias.c
  28bffa1aa880310d0b489566f5e5ed3c  gcc/testsuite/gcc.dg/analyzer/pr93375.c
  021f43de56975850b127f298839bb9f5  gcc/testsuite/gcc.dg/analyzer/pr93382.c
  e5b15ee45fe6adafc7624ced3274120b  gcc/testsuite/gcc.dg/analyzer/pr94458.c
*************** a090c33bcd231aab578d44d3bed73e2c  gcc/te
*** 54084,54092 ****
  533fe8c38ac516bd166c804d75403192  gcc/testsuite/gcc.dg/dfp/c23-constants-4.c
  a79e167314cedeceb805cf8e16ef1904  gcc/testsuite/gcc.dg/dfp/c23-constexpr-dfp-1.c
  fa1ee9ea37cb0592a8545cd263b87726  gcc/testsuite/gcc.dg/dfp/c23-constexpr-dfp-2.c
! f5c2ce88a4ab718beff91e8e996ad2bf  gcc/testsuite/gcc.dg/dfp/c23-decimal64x-1.c
  3008ddb0f8396353a207aa7e1689f7af  gcc/testsuite/gcc.dg/dfp/c23-decimal64x-2.c
! 0e7ec9b35d73b3b8183966afa6a64fa5  gcc/testsuite/gcc.dg/dfp/c23-decimal64x-3.c
  40be9f3b43d11b1e66a0318aa51f97ac  gcc/testsuite/gcc.dg/dfp/c23-decimal64x-4.c
  90c9069e9d0641ae269b5d957d930267  gcc/testsuite/gcc.dg/dfp/c23-float-dfp-1.c
  0bda1158e597d21cdea7c674df4e24f8  gcc/testsuite/gcc.dg/dfp/c23-float-dfp-2.c
--- 54104,54112 ----
  533fe8c38ac516bd166c804d75403192  gcc/testsuite/gcc.dg/dfp/c23-constants-4.c
  a79e167314cedeceb805cf8e16ef1904  gcc/testsuite/gcc.dg/dfp/c23-constexpr-dfp-1.c
  fa1ee9ea37cb0592a8545cd263b87726  gcc/testsuite/gcc.dg/dfp/c23-constexpr-dfp-2.c
! dfb06b9000b55c9f7293dcaa773034dc  gcc/testsuite/gcc.dg/dfp/c23-decimal64x-1.c
  3008ddb0f8396353a207aa7e1689f7af  gcc/testsuite/gcc.dg/dfp/c23-decimal64x-2.c
! 5fb0de69a91350aba3843f2d31f013d6  gcc/testsuite/gcc.dg/dfp/c23-decimal64x-3.c
  40be9f3b43d11b1e66a0318aa51f97ac  gcc/testsuite/gcc.dg/dfp/c23-decimal64x-4.c
  90c9069e9d0641ae269b5d957d930267  gcc/testsuite/gcc.dg/dfp/c23-float-dfp-1.c
  0bda1158e597d21cdea7c674df4e24f8  gcc/testsuite/gcc.dg/dfp/c23-float-dfp-2.c
*************** b9aafcde73d659e8a8f12aec94a7cb09  gcc/te
*** 55687,55693 ****
  46fe10dc7c2a1b21f0d7af66c601ad44  gcc/testsuite/gcc.dg/guality/drap.c
  35524176317603e370c0e34f6d8bd9ae  gcc/testsuite/gcc.dg/guality/example.c
  163a14c7ee9331fc07d3026f1cde9d39  gcc/testsuite/gcc.dg/guality/guality.c
! 021da817e5cbb8af34ec67bc8d3152cb  gcc/testsuite/gcc.dg/guality/guality.exp
  bba006bb14e8c87a0c0ad605f571cf68  gcc/testsuite/gcc.dg/guality/guality.h
  2d9c26760bf9d33b3f102b5e17c22c93  gcc/testsuite/gcc.dg/guality/inline-params-2.c
  3e4b160c43920e148f7c88f96f5b4f0d  gcc/testsuite/gcc.dg/guality/inline-params.c
--- 55707,55713 ----
  46fe10dc7c2a1b21f0d7af66c601ad44  gcc/testsuite/gcc.dg/guality/drap.c
  35524176317603e370c0e34f6d8bd9ae  gcc/testsuite/gcc.dg/guality/example.c
  163a14c7ee9331fc07d3026f1cde9d39  gcc/testsuite/gcc.dg/guality/guality.c
! df6217502c4d9846c2c75fb9c35c7c66  gcc/testsuite/gcc.dg/guality/guality.exp
  bba006bb14e8c87a0c0ad605f571cf68  gcc/testsuite/gcc.dg/guality/guality.h
  2d9c26760bf9d33b3f102b5e17c22c93  gcc/testsuite/gcc.dg/guality/inline-params-2.c
  3e4b160c43920e148f7c88f96f5b4f0d  gcc/testsuite/gcc.dg/guality/inline-params.c
*************** fffc1f01ecc10021cef74e15e08fad3d  gcc/te
*** 56731,56737 ****
  1a4cdf01852ee814e663ce4a12f81332  gcc/testsuite/gcc.dg/max.c
  bd2e41e652def384951c8733f2f6bdef  gcc/testsuite/gcc.dg/maxof-bitint.c
  bc43eadbcc258fb925ae3aab6cc86544  gcc/testsuite/gcc.dg/maxof-bitint575.c
! da8a9b4152fc5effcbe878191f1b7258  gcc/testsuite/gcc.dg/maxof-compile.c
  afb46d3efe9fa5148ca27b11fd844901  gcc/testsuite/gcc.dg/maxof-pedantic-errors.c
  0f84ba164a38f6740ab534e4b77a4509  gcc/testsuite/gcc.dg/maxof-pedantic.c
  2eb99e685dc27ff7c74d04a147795043  gcc/testsuite/gcc.dg/memchr-2.c
--- 56751,56757 ----
  1a4cdf01852ee814e663ce4a12f81332  gcc/testsuite/gcc.dg/max.c
  bd2e41e652def384951c8733f2f6bdef  gcc/testsuite/gcc.dg/maxof-bitint.c
  bc43eadbcc258fb925ae3aab6cc86544  gcc/testsuite/gcc.dg/maxof-bitint575.c
! c2b3499a26514d073c13073e910b634b  gcc/testsuite/gcc.dg/maxof-compile.c
  afb46d3efe9fa5148ca27b11fd844901  gcc/testsuite/gcc.dg/maxof-pedantic-errors.c
  0f84ba164a38f6740ab534e4b77a4509  gcc/testsuite/gcc.dg/maxof-pedantic.c
  2eb99e685dc27ff7c74d04a147795043  gcc/testsuite/gcc.dg/memchr-2.c
*************** bf675da3de2d4a46664269703dd05797  gcc/te
*** 58040,58045 ****
--- 58060,58066 ----
  b975ebfa27ac446e553bacbb75421590  gcc/testsuite/gcc.dg/pr122126_vset.c
  ea90b28181a941740c845e0095310a27  gcc/testsuite/gcc.dg/pr122200.c
  47e5eee5a7b9e8a561523488f8af584f  gcc/testsuite/gcc.dg/pr122343-1.c
+ e6de60b5642934aef50f416afd0dfef5  gcc/testsuite/gcc.dg/pr122348.c
  afbbdc9160c7bbb463b8a9a0ccecc1ec  gcc/testsuite/gcc.dg/pr122756.c
  6f902818ec608b0949c72df134c134a3  gcc/testsuite/gcc.dg/pr122773.c
  7344e7d40edaaaf0a7feba4fc50f3e85  gcc/testsuite/gcc.dg/pr122898.c
*************** a7854fc3636527bc932319df4a19bc42  gcc/te
*** 58053,58058 ****
--- 58074,58080 ----
  9458a512908504ff59f92077cde8c882  gcc/testsuite/gcc.dg/pr123295-1.c
  5fbcf85870a8e9883872a384e3cf5e12  gcc/testsuite/gcc.dg/pr123300.c
  785eb6e7b2c08f02c9e8a5f33f827f1a  gcc/testsuite/gcc.dg/pr123309.c
+ 42c347a411cbc63b24f2602bf954a4b7  gcc/testsuite/gcc.dg/pr123314.c
  afeafc726f9068066b4e782197455056  gcc/testsuite/gcc.dg/pr123319.c
  3e218010f127737b8ec6efbf8cb00273  gcc/testsuite/gcc.dg/pr123431.c
  4288ef3d117ee2b6aabf0d6303eeb663  gcc/testsuite/gcc.dg/pr123435-1.c
*************** afeafc726f9068066b4e782197455056  gcc/te
*** 58060,58065 ****
--- 58082,58089 ----
  0da2c71eea90fdad386d74777acfa661  gcc/testsuite/gcc.dg/pr123463.c
  e43dcd43531182c1839bc3842972ef9a  gcc/testsuite/gcc.dg/pr123475.c
  40c720d493fdf466beac8d906dcdb821  gcc/testsuite/gcc.dg/pr123544.c
+ b64bff50aa325d3cdf648a6b7fec2e46  gcc/testsuite/gcc.dg/pr123656.c
+ 01c4bfafe1ef8627df22f4a8e2581122  gcc/testsuite/gcc.dg/pr123803-1.c
  bc5ddfbbc46f4e0cce1629d1b58d3090  gcc/testsuite/gcc.dg/pr12603.c
  72a2fca76cb69617ae36bab93c7ec0d7  gcc/testsuite/gcc.dg/pr12625-1.c
  6f0ef61e5a12db5f11da839b2988c5e1  gcc/testsuite/gcc.dg/pr13519-1.c
*************** cdcbfe4963d2fb08c5ca3beee8988a3a  gcc/te
*** 60373,60379 ****
  23a597c0870b162e131dfed969f7f63b  gcc/testsuite/gcc.dg/simulate-thread/atomic-other-int128.c
  dd9deecd35e329ea7c8b1a24c3721dfb  gcc/testsuite/gcc.dg/simulate-thread/atomic-other-longlong.c
  bc0a90e6775aacab35294b814a4dc066  gcc/testsuite/gcc.dg/simulate-thread/atomic-other-short.c
! c0482a552eb3e402a0350123176fd2cb  gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp
  a551d568c4b3e2e586a288740ed87bc7  gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.gdb
  39e5d3ccf4c1daacfdd5bbcc2281cad0  gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.h
  1206815dd7536f73ea767fa3901ecc15  gcc/testsuite/gcc.dg/simulate-thread/speculative-store-2.c
--- 60397,60403 ----
  23a597c0870b162e131dfed969f7f63b  gcc/testsuite/gcc.dg/simulate-thread/atomic-other-int128.c
  dd9deecd35e329ea7c8b1a24c3721dfb  gcc/testsuite/gcc.dg/simulate-thread/atomic-other-longlong.c
  bc0a90e6775aacab35294b814a4dc066  gcc/testsuite/gcc.dg/simulate-thread/atomic-other-short.c
! 9fd0d84fb6a99cf5518505da1a7a902c  gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp
  a551d568c4b3e2e586a288740ed87bc7  gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.gdb
  39e5d3ccf4c1daacfdd5bbcc2281cad0  gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.h
  1206815dd7536f73ea767fa3901ecc15  gcc/testsuite/gcc.dg/simulate-thread/speculative-store-2.c
*************** c5684166faf02044b5d8930cae3d92a2  gcc/te
*** 61678,61684 ****
  71e6b4437bf381edd99e9e6fdd633492  gcc/testsuite/gcc.dg/torture/pr112856.c
  956dc9b1dc1c726c549e9e69ca1db5ec  gcc/testsuite/gcc.dg/torture/pr112859.c
  0da1b162b4d30cd723409c71ad927d22  gcc/testsuite/gcc.dg/torture/pr112991.c
! a32d35aee2736c3fe59d10710c7d2dbf  gcc/testsuite/gcc.dg/torture/pr113026-1.c
  f7f8eb5978df60ecbe2021cabd4bdc7a  gcc/testsuite/gcc.dg/torture/pr113026-2.c
  6b8cee0b3d74e3be0f3a8748a1d49d29  gcc/testsuite/gcc.dg/torture/pr113126.c
  f3bab6271794f76a87e753dbe63b2cde  gcc/testsuite/gcc.dg/torture/pr113205.c
--- 61702,61708 ----
  71e6b4437bf381edd99e9e6fdd633492  gcc/testsuite/gcc.dg/torture/pr112856.c
  956dc9b1dc1c726c549e9e69ca1db5ec  gcc/testsuite/gcc.dg/torture/pr112859.c
  0da1b162b4d30cd723409c71ad927d22  gcc/testsuite/gcc.dg/torture/pr112991.c
! 1fd4ddd7734447e53d8911d0265b3355  gcc/testsuite/gcc.dg/torture/pr113026-1.c
  f7f8eb5978df60ecbe2021cabd4bdc7a  gcc/testsuite/gcc.dg/torture/pr113026-2.c
  6b8cee0b3d74e3be0f3a8748a1d49d29  gcc/testsuite/gcc.dg/torture/pr113126.c
  f3bab6271794f76a87e753dbe63b2cde  gcc/testsuite/gcc.dg/torture/pr113205.c
*************** faa7f4600800bdbdaab47877d0fb7746  gcc/te
*** 61815,61820 ****
--- 61839,61845 ----
  e1b9ad351c56aebfaff790ff4002bf6e  gcc/testsuite/gcc.dg/torture/pr120182.c
  0c3297c6ebf6e4adcaeec164dfe8e9ac  gcc/testsuite/gcc.dg/torture/pr120211-1.c
  68b7b9a81ceb31b6b33b9a797a7f6c30  gcc/testsuite/gcc.dg/torture/pr120242.c
+ d7e534063dbbe45d1c825101bbe000c2  gcc/testsuite/gcc.dg/torture/pr120258-1.c
  a0d2174875961d5bb3004aad3d93d7d7  gcc/testsuite/gcc.dg/torture/pr120276.c
  353122537d1fab324ea4a55eef804498  gcc/testsuite/gcc.dg/torture/pr120322.c
  e9469d38b4234580f9b2284233404b3c  gcc/testsuite/gcc.dg/torture/pr120341-1.c
*************** a9aaac3c1ee96431c6d95bd2eb3c3f27  gcc/te
*** 61867,61883 ****
  61ae03371e683338d99762a97b9f10f9  gcc/testsuite/gcc.dg/torture/pr122847-1.c
  599ac258574b276ce3335b78a5a77da0  gcc/testsuite/gcc.dg/torture/pr122873.c
  a72ae7e01256a00a4331a97695f441c8  gcc/testsuite/gcc.dg/torture/pr123027.c
  10b3b873efcbbc683b1b7bc118deaf44  gcc/testsuite/gcc.dg/torture/pr123107.c
! 555e199e2c16f6c135742459dd2921b3  gcc/testsuite/gcc.dg/torture/pr123175-1.c
! a57694d59f86b331962949b865331a14  gcc/testsuite/gcc.dg/torture/pr123175-2.c
  53e66b5cadafe7e2c98dde34bf157702  gcc/testsuite/gcc.dg/torture/pr123267-1.c
  e03287adad00d313766ecc2e039fb9b5  gcc/testsuite/gcc.dg/torture/pr123298.c
  11091949fe6774584df4fe838c80617e  gcc/testsuite/gcc.dg/torture/pr123310.c
  696ea16080bb129f974e534dd41b1ac9  gcc/testsuite/gcc.dg/torture/pr123382-1.c
  46a4a57171daf43cca2c2be68546f06a  gcc/testsuite/gcc.dg/torture/pr123382-2.c
  31008858fedcd65ab763c86127409b2f  gcc/testsuite/gcc.dg/torture/pr123530.c
  ea90221ab80b5c3561ffc7665d2a343a  gcc/testsuite/gcc.dg/torture/pr123645-1.c
  c6c07c813f67e0f94f1352f2810dfcff  gcc/testsuite/gcc.dg/torture/pr123645-2.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
--- 61892,61913 ----
  61ae03371e683338d99762a97b9f10f9  gcc/testsuite/gcc.dg/torture/pr122847-1.c
  599ac258574b276ce3335b78a5a77da0  gcc/testsuite/gcc.dg/torture/pr122873.c
  a72ae7e01256a00a4331a97695f441c8  gcc/testsuite/gcc.dg/torture/pr123027.c
+ 3142210a35bdb6d31b5c4bb65cf8e9e4  gcc/testsuite/gcc.dg/torture/pr123061.c
  10b3b873efcbbc683b1b7bc118deaf44  gcc/testsuite/gcc.dg/torture/pr123107.c
! 79bdbd48c656f88157f60e23c2556cbb  gcc/testsuite/gcc.dg/torture/pr123144.c
! 3a1d55accd96ed1cdb4288ae0cee4ba3  gcc/testsuite/gcc.dg/torture/pr123175-1.c
! da77a77d83fbed693e335d038191f726  gcc/testsuite/gcc.dg/torture/pr123175-2.c
  53e66b5cadafe7e2c98dde34bf157702  gcc/testsuite/gcc.dg/torture/pr123267-1.c
  e03287adad00d313766ecc2e039fb9b5  gcc/testsuite/gcc.dg/torture/pr123298.c
  11091949fe6774584df4fe838c80617e  gcc/testsuite/gcc.dg/torture/pr123310.c
  696ea16080bb129f974e534dd41b1ac9  gcc/testsuite/gcc.dg/torture/pr123382-1.c
  46a4a57171daf43cca2c2be68546f06a  gcc/testsuite/gcc.dg/torture/pr123382-2.c
  31008858fedcd65ab763c86127409b2f  gcc/testsuite/gcc.dg/torture/pr123530.c
+ 7d1a217129f5166f7cde3b004649bea9  gcc/testsuite/gcc.dg/torture/pr123636.c
  ea90221ab80b5c3561ffc7665d2a343a  gcc/testsuite/gcc.dg/torture/pr123645-1.c
  c6c07c813f67e0f94f1352f2810dfcff  gcc/testsuite/gcc.dg/torture/pr123645-2.c
+ 0264a38a252a9bd05d889f4ee2e9545e  gcc/testsuite/gcc.dg/torture/pr123745-1.c
+ 2b277b12c644f4c0f67813086cbd7ef8  gcc/testsuite/gcc.dg/torture/pr123778-1.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
*************** b32b026becf23fab737eba130bd8f041  gcc/te
*** 63792,63798 ****
  9e9bec4c515075b6d8265930a3cd28c5  gcc/testsuite/gcc.dg/tree-ssa/ivopts-lower_base.c
  ae0437cd23de7badb64f543e434aed3b  gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt-2.c
  dc9dd2f9061961ab523a7326efe6ddec  gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt.c
! 9035ee6eaf395399271331d384186fd5  gcc/testsuite/gcc.dg/tree-ssa/ldexp.c
  2fa70c1f0fbe2b1a406c06262ff11c39  gcc/testsuite/gcc.dg/tree-ssa/ldist-1.c
  f5c7001f0585b059bf58fefe90aae5e9  gcc/testsuite/gcc.dg/tree-ssa/ldist-10.c
  ec73d985b059fedd7c228c94cd226be6  gcc/testsuite/gcc.dg/tree-ssa/ldist-11.c
--- 63822,63828 ----
  9e9bec4c515075b6d8265930a3cd28c5  gcc/testsuite/gcc.dg/tree-ssa/ivopts-lower_base.c
  ae0437cd23de7badb64f543e434aed3b  gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt-2.c
  dc9dd2f9061961ab523a7326efe6ddec  gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt.c
! aaa5d3f05f55eba3dddc0cd1bba234aa  gcc/testsuite/gcc.dg/tree-ssa/ldexp.c
  2fa70c1f0fbe2b1a406c06262ff11c39  gcc/testsuite/gcc.dg/tree-ssa/ldist-1.c
  f5c7001f0585b059bf58fefe90aae5e9  gcc/testsuite/gcc.dg/tree-ssa/ldist-10.c
  ec73d985b059fedd7c228c94cd226be6  gcc/testsuite/gcc.dg/tree-ssa/ldist-11.c
*************** a2fced1270cbdc50e78585c0f2078558  gcc/te
*** 64462,64468 ****
  e229772ee53d3e2888b309d217fc8ce6  gcc/testsuite/gcc.dg/tree-ssa/pr45397.c
  592ff825eb1ae28f2cc9fc5efa4063f8  gcc/testsuite/gcc.dg/tree-ssa/pr45427.c
  ef6ec480a985cb16007d515286369fd3  gcc/testsuite/gcc.dg/tree-ssa/pr46076.c
! 46c4d3001ec488a2e9991465465c8c84  gcc/testsuite/gcc.dg/tree-ssa/pr46555.c
  2dee61dac00605930a2ca04d021577af  gcc/testsuite/gcc.dg/tree-ssa/pr47059.c
  e79e571a7bf87c1c43e941c3999280f2  gcc/testsuite/gcc.dg/tree-ssa/pr47286.c
  97fe9c848e0059a42c793036887ac8ec  gcc/testsuite/gcc.dg/tree-ssa/pr47392.c
--- 64492,64498 ----
  e229772ee53d3e2888b309d217fc8ce6  gcc/testsuite/gcc.dg/tree-ssa/pr45397.c
  592ff825eb1ae28f2cc9fc5efa4063f8  gcc/testsuite/gcc.dg/tree-ssa/pr45427.c
  ef6ec480a985cb16007d515286369fd3  gcc/testsuite/gcc.dg/tree-ssa/pr46076.c
! 8793af956556b38743f84824ebfff4c6  gcc/testsuite/gcc.dg/tree-ssa/pr46555.c
  2dee61dac00605930a2ca04d021577af  gcc/testsuite/gcc.dg/tree-ssa/pr47059.c
  e79e571a7bf87c1c43e941c3999280f2  gcc/testsuite/gcc.dg/tree-ssa/pr47286.c
  97fe9c848e0059a42c793036887ac8ec  gcc/testsuite/gcc.dg/tree-ssa/pr47392.c
*************** d03cb3596196779855c74f48d36a97a2  gcc/te
*** 65033,65039 ****
  c9d54e802a416f03458eaee182da0547  gcc/testsuite/gcc.dg/tree-ssa/slsr-5.c
  6bab782ff13aa39d302f080d3c157946  gcc/testsuite/gcc.dg/tree-ssa/slsr-6.c
  47f4aa00fc6ef30ae0f1b03e5733a572  gcc/testsuite/gcc.dg/tree-ssa/slsr-7.c
! f5cbb278145ac126dcce52ba55a7e986  gcc/testsuite/gcc.dg/tree-ssa/slsr-8.c
  a033da229d97e775dc989a1095ff34b8  gcc/testsuite/gcc.dg/tree-ssa/slsr-9.c
  42cfda00a4e3f590579d9164da8db652  gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c
  374f7d1e0bcd74c6255d65e104a73dbf  gcc/testsuite/gcc.dg/tree-ssa/split-path-10.c
--- 65063,65069 ----
  c9d54e802a416f03458eaee182da0547  gcc/testsuite/gcc.dg/tree-ssa/slsr-5.c
  6bab782ff13aa39d302f080d3c157946  gcc/testsuite/gcc.dg/tree-ssa/slsr-6.c
  47f4aa00fc6ef30ae0f1b03e5733a572  gcc/testsuite/gcc.dg/tree-ssa/slsr-7.c
! dfe8d5ab532409e84d48b549d54eaf25  gcc/testsuite/gcc.dg/tree-ssa/slsr-8.c
  a033da229d97e775dc989a1095ff34b8  gcc/testsuite/gcc.dg/tree-ssa/slsr-9.c
  42cfda00a4e3f590579d9164da8db652  gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c
  374f7d1e0bcd74c6255d65e104a73dbf  gcc/testsuite/gcc.dg/tree-ssa/split-path-10.c
*************** bc1b0eb9d58483a9f609b164efd64d18  gcc/te
*** 65354,65359 ****
--- 65384,65390 ----
  6a109e21502e5353e985b8e9180f3c79  gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-23.c
  99cacb357948a00b34aa1d255c66558b  gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-24.c
  a3fc09fc73db236301044a5b2f7e7fea  gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-25.c
+ 982d2d128f70750a32db6150ef8991ef  gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-26.c
  c0ab69fe1a4b916817bbafe5e5048c34  gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-3.c
  d00d2a078458d4fc876af7d2a29c241a  gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-5.c
  769aa5eb478537be389d55c410c46887  gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-6.c
*************** aca7d2373617a1be34881ac1c7f666c3  gcc/te
*** 66439,66444 ****
--- 66470,66476 ----
  af1a8b32e71c4979a967ab326a54bace  gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr122573.c
  9186fecdc3fdbd1e29c457ed6c3ec015  gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr123190-1.c
  4b5a237cf055ed5b96ca7403d59bb3f7  gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr123190-2.c
+ 65d55853388c31894d07b296d0d577bf  gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr123603.c
  adf307e0a12bcc8d31b97d83adb3e848  gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr30843.c
  ec5c6a4d5052e20e84aa5eb95742d36f  gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr64909.c
  e094ee1a12f158fa8be372b1974af637  gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr69297.c
*************** e094ee1a12f158fa8be372b1974af637  gcc/te
*** 66447,66452 ****
--- 66479,66485 ----
  f69c055c238cc0217c98e86380f16061  gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c
  396130749e6b4f9ec773821041143ba0  gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-33.c
  d13254c5eb24a8e02c724470d3f22c66  gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-68.c
+ b691212b6ae14b41e0fe2ed1fe60680b  gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-epil-1.c
  460815bb26ae1f6c220e23de56a2d3fd  gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c
  f6fdadd0ea9395aed541bf9b57b73780  gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp-2.c
  8fa1df6d327c2eef9e16ea686cbebd42  gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp.c
*************** ae7dd7b535828dd877ea453ce08b1b4b  gcc/te
*** 66774,66779 ****
--- 66807,66813 ----
  1a89666cdf0f2352dc6a3b60a35d5526  gcc/testsuite/gcc.dg/vect/pr123038.c
  2838d9516eba265f0e0975f689ddd518  gcc/testsuite/gcc.dg/vect/pr123043.c
  17c5c38b2c03547dce34b548af8a2143  gcc/testsuite/gcc.dg/vect/pr123525.c
+ 86e3be2c542c86cb2ddd62c5080014e5  gcc/testsuite/gcc.dg/vect/pr123731.c
  42d48d2ecd5682545b12ac42f879a831  gcc/testsuite/gcc.dg/vect/pr16105.c
  231c99dba9475fe09525bbf6f4374124  gcc/testsuite/gcc.dg/vect/pr18308.c
  915cf38408eaa7fee5013d90ec1c3251  gcc/testsuite/gcc.dg/vect/pr18400.c
*************** a27087df4989bb70386182ff7f74facf  gcc/te
*** 68117,68122 ****
--- 68151,68159 ----
  efc5db1b97ea06d470c57048d8966ea1  gcc/testsuite/gcc.dg/vect/vect-pr123221.c
  745e1ec106fc11cf54190bfa02bb194e  gcc/testsuite/gcc.dg/vect/vect-pr123316.c
  8392d6836424887c8615331c1ad6592d  gcc/testsuite/gcc.dg/vect/vect-pr12358.c
+ 3a218a9e901cfc31c777e22723a03123  gcc/testsuite/gcc.dg/vect/vect-pr123697.c
+ 8d72fe60d77b174c40a9709fbc10c86b  gcc/testsuite/gcc.dg/vect/vect-pr123755.c
+ 71a5a3f0c2e34ed3e033a36a47f5cf20  gcc/testsuite/gcc.dg/vect/vect-pr123756.c
  464c872c62ad2fc5d241ed918e0cf5de  gcc/testsuite/gcc.dg/vect/vect-pr61247.c
  4d57df9e3b3522c9f1a6707c05f1da45  gcc/testsuite/gcc.dg/vect/vect-pr69848.c
  3a3a316ff2f2496494ecb0bd77d61aad  gcc/testsuite/gcc.dg/vect/vect-pre-interact.c
*************** cab0488838a24c49176395ecd2429957  gcc/te
*** 68724,68786 ****
  a11bded9860644075434da1f07b7f1bf  gcc/testsuite/gcc.misc-tests/dhry.c
  a0e0a36f95b638628b96d2b6348ddfd2  gcc/testsuite/gcc.misc-tests/dhry.exp
  850c45b3c3b492adf09b115c0d2d2286  gcc/testsuite/gcc.misc-tests/dhry.h
! 02aa6ab9e158e9fa6e94768d75bd86cb  gcc/testsuite/gcc.misc-tests/gcov-1.c
! 44d73a2d21081bbe1b4c64084331ec77  gcc/testsuite/gcc.misc-tests/gcov-10.c
! c400cc0e03e4317110d582fdba04ace0  gcc/testsuite/gcc.misc-tests/gcov-10b.c
! 0c8ac613f2d2a35706fd7c8b7b16a1a9  gcc/testsuite/gcc.misc-tests/gcov-11.c
! eee8f00567cf54ebbed65a4f71c7d314  gcc/testsuite/gcc.misc-tests/gcov-12.c
! 1aac355a176cb811b951b73ea58ef6c7  gcc/testsuite/gcc.misc-tests/gcov-13.c
! a95cd74daf7751d37ad0e80b754f3ef8  gcc/testsuite/gcc.misc-tests/gcov-14.c
! a7fcf55fbb07ad31be551305d543313e  gcc/testsuite/gcc.misc-tests/gcov-15.c
! a19cb340410a6420dbacef02fec4bcd8  gcc/testsuite/gcc.misc-tests/gcov-16.c
! 90ae2485842728f278e979faa45ad805  gcc/testsuite/gcc.misc-tests/gcov-17.c
! 70c6f6b4d1974332d8e93bc9a3457028  gcc/testsuite/gcc.misc-tests/gcov-18.c
! a1241f25f3288ad9f494cee117c43506  gcc/testsuite/gcc.misc-tests/gcov-19.c
! 26d3ee0bab7bc8a86b5239d64728101d  gcc/testsuite/gcc.misc-tests/gcov-1a.c
! 7a8ab4c1f62f1462575863cae613404b  gcc/testsuite/gcc.misc-tests/gcov-2.c
! d3e578d8bc312db32a2f399db7f8fd84  gcc/testsuite/gcc.misc-tests/gcov-20.c
  7cbc5cb8d89f137fee58e670e9b96f48  gcc/testsuite/gcc.misc-tests/gcov-21.c
! 4bf90ad9ab4acffa656c2a2cf8a10265  gcc/testsuite/gcc.misc-tests/gcov-22.c
  42d1963cdce75dce5b9a65c3937419ba  gcc/testsuite/gcc.misc-tests/gcov-23.c
! 632a8cbb04146bcb82659d2a9419f3cd  gcc/testsuite/gcc.misc-tests/gcov-24.c
! 0628a34eeb1ec4be53b4741b8adf16a1  gcc/testsuite/gcc.misc-tests/gcov-25.c
! 22304f773444e66b6d10862c3b5a3970  gcc/testsuite/gcc.misc-tests/gcov-26.c
! 47ddd14156f3ce008c99672f025743d3  gcc/testsuite/gcc.misc-tests/gcov-27.c
! 30a70d3bef76109efb4ead4e00292945  gcc/testsuite/gcc.misc-tests/gcov-28.c
! 7c21be5c2e692d5a3ef56f7df95b7478  gcc/testsuite/gcc.misc-tests/gcov-29.c
! c71219d95b56b360f999cbe8dd8b9109  gcc/testsuite/gcc.misc-tests/gcov-3.c
! b04c93aaab55fa852627a5e071e8b738  gcc/testsuite/gcc.misc-tests/gcov-30.c
  13e63323e5ef1451f30fd4147d4fe687  gcc/testsuite/gcc.misc-tests/gcov-31.c
  5167fb7d00d3ad6eb4b44556fcd02729  gcc/testsuite/gcc.misc-tests/gcov-32.c
! e69ff322390ce234e672ea842548fd02  gcc/testsuite/gcc.misc-tests/gcov-33.c
! 8d5cb1f1d26741cd130b1c9f29a62216  gcc/testsuite/gcc.misc-tests/gcov-34.c
! 5031c27c248f452d2706615b860fc3f3  gcc/testsuite/gcc.misc-tests/gcov-4.c
! 7d9bedbf8aa7d7ba724d6149406ba528  gcc/testsuite/gcc.misc-tests/gcov-4b.c
! 3de3228964abb899dfdf7f0613136f40  gcc/testsuite/gcc.misc-tests/gcov-5b.c
! 9f0a4f4ae87d9c8e7ee70f27c75d5114  gcc/testsuite/gcc.misc-tests/gcov-6.c
! 5324617bdeb58cd08b3e16f20f9e3c50  gcc/testsuite/gcc.misc-tests/gcov-7.c
! cd07c3504059efe7fb7533158e061864  gcc/testsuite/gcc.misc-tests/gcov-8.c
! c80d5a6473bfd6e4b6e87a183c6d05b5  gcc/testsuite/gcc.misc-tests/gcov-9.c
  2e9ddc8005d8dbaf76953e1c6efcc168  gcc/testsuite/gcc.misc-tests/gcov-pr114599.c
  532090f95d4315be0d583fcdf9aa2328  gcc/testsuite/gcc.misc-tests/gcov-pr114601.c
  8114252892791c2c861a0b816aa62dbe  gcc/testsuite/gcc.misc-tests/gcov-pr114681.c
! 0df3e4ffd1610249fe85ed5bdd64727a  gcc/testsuite/gcc.misc-tests/gcov-pr83813.c
! 21f13efd8f57c103a63da9546f8a4c63  gcc/testsuite/gcc.misc-tests/gcov-pr84758.c
! 0ff4a1fb9692c697b091ed4523db6462  gcc/testsuite/gcc.misc-tests/gcov-pr85217.c
! 1cc3507fd048b41853b3f26324570915  gcc/testsuite/gcc.misc-tests/gcov-pr85332.c
! 64551f89f8d714e5c9229b25764d2c6d  gcc/testsuite/gcc.misc-tests/gcov-pr85338.c
! 772680c804fa85a46b0e530f2d7f0bd2  gcc/testsuite/gcc.misc-tests/gcov-pr85350.c
! 7528aca2251aa136d1d3f9e5ead9f9d6  gcc/testsuite/gcc.misc-tests/gcov-pr85372.c
! cd738df03ae207debc1ad168ab05d024  gcc/testsuite/gcc.misc-tests/gcov-pr86536.c
! ce15b46ef3abd924c340b60b46880630  gcc/testsuite/gcc.misc-tests/gcov-pr90574-1.c
! b4c981ce038b4aba05421ca069c8e20f  gcc/testsuite/gcc.misc-tests/gcov-pr90574-2.c
  64595fd213798d37265f5eb087bb77f2  gcc/testsuite/gcc.misc-tests/gcov-pr94029.c
  3ed37effcee8c0013a7c1868f4832965  gcc/testsuite/gcc.misc-tests/gcov.exp
  d0c60992e0ef331502b84f8ee13cb818  gcc/testsuite/gcc.misc-tests/gcovpart-13b.c
  34383bd53fad12bfd0999bb18c2acbd8  gcc/testsuite/gcc.misc-tests/godump-1.c
  b141cf6e0368373cb6ce35d96fe044aa  gcc/testsuite/gcc.misc-tests/godump-2.c
  884afe40ca561325c70d2f5cda267229  gcc/testsuite/gcc.misc-tests/godump.exp
! f6247b219f0d19761971022c5bfba164  gcc/testsuite/gcc.misc-tests/help.exp
  6d43a784cf19762437a5b9baec4d4095  gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c
  4a06f6c2d9b50ef414030d175fbe9d5c  gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c
  bfd2eae1e2b6b0aa804a7e33580dc190  gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c
--- 68761,68823 ----
  a11bded9860644075434da1f07b7f1bf  gcc/testsuite/gcc.misc-tests/dhry.c
  a0e0a36f95b638628b96d2b6348ddfd2  gcc/testsuite/gcc.misc-tests/dhry.exp
  850c45b3c3b492adf09b115c0d2d2286  gcc/testsuite/gcc.misc-tests/dhry.h
! 4edb992c7063d470716954e6be467980  gcc/testsuite/gcc.misc-tests/gcov-1.c
! 485ca34c05c542ca7f7813bdae993d5c  gcc/testsuite/gcc.misc-tests/gcov-10.c
! 28d6cf5350374b69173f5cdf0fe4826e  gcc/testsuite/gcc.misc-tests/gcov-10b.c
! 99ac2b624d533e40bd72e9c0bd306da4  gcc/testsuite/gcc.misc-tests/gcov-11.c
! 7b48304ed6cf8db8ecbc3981066cdc48  gcc/testsuite/gcc.misc-tests/gcov-12.c
! e6b92539aad49fd864490cec7080b490  gcc/testsuite/gcc.misc-tests/gcov-13.c
! c7ac4a7ab73f1691f9b4a862572c231a  gcc/testsuite/gcc.misc-tests/gcov-14.c
! cbf6bf065ad255a035c8a4ecfef0b332  gcc/testsuite/gcc.misc-tests/gcov-15.c
! c7e8979eb7e4f7fb8c2e008a087966cd  gcc/testsuite/gcc.misc-tests/gcov-16.c
! 40a4ab93d915ef5160ce00fc07f5df4c  gcc/testsuite/gcc.misc-tests/gcov-17.c
! edb762bd836db8f67c45c7c8ce884c3e  gcc/testsuite/gcc.misc-tests/gcov-18.c
! 88e1d5f8c529250a87a6ba8c1dddd700  gcc/testsuite/gcc.misc-tests/gcov-19.c
! dc772b7fae7491c9aa2f65ee68d607a7  gcc/testsuite/gcc.misc-tests/gcov-1a.c
! 9f80d59aaaa2f2622f9b6a71fdef446e  gcc/testsuite/gcc.misc-tests/gcov-2.c
! d7f04c06f30a806d546036145b21e45b  gcc/testsuite/gcc.misc-tests/gcov-20.c
  7cbc5cb8d89f137fee58e670e9b96f48  gcc/testsuite/gcc.misc-tests/gcov-21.c
! 60fef848f2dd5d55557cd799f8e3475d  gcc/testsuite/gcc.misc-tests/gcov-22.c
  42d1963cdce75dce5b9a65c3937419ba  gcc/testsuite/gcc.misc-tests/gcov-23.c
! ee0ba269917a420abcca395ad38b524a  gcc/testsuite/gcc.misc-tests/gcov-24.c
! 31628208404bff0ec14b21acea3b0108  gcc/testsuite/gcc.misc-tests/gcov-25.c
! 32d56f3c339953d0c4cfadc72fb51dfd  gcc/testsuite/gcc.misc-tests/gcov-26.c
! b968fcc4d85aae78066422161712adf6  gcc/testsuite/gcc.misc-tests/gcov-27.c
! e849b1f9c287a448bf8c2017ed97f8af  gcc/testsuite/gcc.misc-tests/gcov-28.c
! f5d36ca44b5a53a3006ddec1d49b6abb  gcc/testsuite/gcc.misc-tests/gcov-29.c
! bfde4845f4a814d2ee6c2745349086cc  gcc/testsuite/gcc.misc-tests/gcov-3.c
! 549e50fcaa25fa2d1b269383a0b23ca1  gcc/testsuite/gcc.misc-tests/gcov-30.c
  13e63323e5ef1451f30fd4147d4fe687  gcc/testsuite/gcc.misc-tests/gcov-31.c
  5167fb7d00d3ad6eb4b44556fcd02729  gcc/testsuite/gcc.misc-tests/gcov-32.c
! 36e6bfa6f1fa471f408919b16be06d89  gcc/testsuite/gcc.misc-tests/gcov-33.c
! 30dd2d3737a7401831c1575abfa0519e  gcc/testsuite/gcc.misc-tests/gcov-34.c
! 90f74ccb28fbeaad6e27b19106c0c11e  gcc/testsuite/gcc.misc-tests/gcov-4.c
! bd636e850bb2e90101ecf2fb90c0cfed  gcc/testsuite/gcc.misc-tests/gcov-4b.c
! 6141d011350f6aaa61e89b47b68d3efa  gcc/testsuite/gcc.misc-tests/gcov-5b.c
! 2d7a310fa9667d81898720958238852f  gcc/testsuite/gcc.misc-tests/gcov-6.c
! 8d2a2286810200ae0ae2bce850e94653  gcc/testsuite/gcc.misc-tests/gcov-7.c
! b76086dacb74bfaa16182713e3441f38  gcc/testsuite/gcc.misc-tests/gcov-8.c
! 0cb1d75dce4d0c4ecc019b5b3adc17f1  gcc/testsuite/gcc.misc-tests/gcov-9.c
  2e9ddc8005d8dbaf76953e1c6efcc168  gcc/testsuite/gcc.misc-tests/gcov-pr114599.c
  532090f95d4315be0d583fcdf9aa2328  gcc/testsuite/gcc.misc-tests/gcov-pr114601.c
  8114252892791c2c861a0b816aa62dbe  gcc/testsuite/gcc.misc-tests/gcov-pr114681.c
! a946bc93f49605b83cfdb2bc72accd8e  gcc/testsuite/gcc.misc-tests/gcov-pr83813.c
! ab12d088013c689404c40977ae636e6b  gcc/testsuite/gcc.misc-tests/gcov-pr84758.c
! 988d6df927366ba7aa9c2a859fd9326f  gcc/testsuite/gcc.misc-tests/gcov-pr85217.c
! 722e46ec336f76a02701253df7663347  gcc/testsuite/gcc.misc-tests/gcov-pr85332.c
! 0667dc34d28798dfcdacb06873c14dba  gcc/testsuite/gcc.misc-tests/gcov-pr85338.c
! fc640f33ff98feb0c834615794d7aaa1  gcc/testsuite/gcc.misc-tests/gcov-pr85350.c
! 98e3a30fb36c088fb25df6f9ba71527b  gcc/testsuite/gcc.misc-tests/gcov-pr85372.c
! c56fa5b753e3a38d25b795aa919662a8  gcc/testsuite/gcc.misc-tests/gcov-pr86536.c
! 22db3cf76287916a1706357636402303  gcc/testsuite/gcc.misc-tests/gcov-pr90574-1.c
! c7d6a37fe8a8d7a2ef52ce982f5b0ff4  gcc/testsuite/gcc.misc-tests/gcov-pr90574-2.c
  64595fd213798d37265f5eb087bb77f2  gcc/testsuite/gcc.misc-tests/gcov-pr94029.c
  3ed37effcee8c0013a7c1868f4832965  gcc/testsuite/gcc.misc-tests/gcov.exp
  d0c60992e0ef331502b84f8ee13cb818  gcc/testsuite/gcc.misc-tests/gcovpart-13b.c
  34383bd53fad12bfd0999bb18c2acbd8  gcc/testsuite/gcc.misc-tests/godump-1.c
  b141cf6e0368373cb6ce35d96fe044aa  gcc/testsuite/gcc.misc-tests/godump-2.c
  884afe40ca561325c70d2f5cda267229  gcc/testsuite/gcc.misc-tests/godump.exp
! f731ef4e8b8a1177e16a9aee832ccdb6  gcc/testsuite/gcc.misc-tests/help.exp
  6d43a784cf19762437a5b9baec4d4095  gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c
  4a06f6c2d9b50ef414030d175fbe9d5c  gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c
  bfd2eae1e2b6b0aa804a7e33580dc190  gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c
*************** acaaa7b0871f73bf93a15b8ccdd87575  gcc/te
*** 69011,69017 ****
  17ec255ef73cef3bbc3a0c8ca9ea408d  gcc/testsuite/gcc.target/aarch64/acle/crc32h.c
  fa7ed3baf58293efac2270a829b36fbf  gcc/testsuite/gcc.target/aarch64/acle/crc32w.c
  6717fca79661e30514c554d809b9ded2  gcc/testsuite/gcc.target/aarch64/acle/data-intrinsics.c
! 4e1ddd7407df847370770f6d1edf33c9  gcc/testsuite/gcc.target/aarch64/acle/fp8-helpers-neon.c
  e9303630d98d1f67dcf0881643f14517  gcc/testsuite/gcc.target/aarch64/acle/fp8-helpers-sme.c
  1f6c38a24e776d1d411aaf2cba14b65d  gcc/testsuite/gcc.target/aarch64/acle/fp8-helpers-sve.c
  ee2655ac32e03b2e446c179151077b7f  gcc/testsuite/gcc.target/aarch64/acle/fp8.c
--- 69048,69054 ----
  17ec255ef73cef3bbc3a0c8ca9ea408d  gcc/testsuite/gcc.target/aarch64/acle/crc32h.c
  fa7ed3baf58293efac2270a829b36fbf  gcc/testsuite/gcc.target/aarch64/acle/crc32w.c
  6717fca79661e30514c554d809b9ded2  gcc/testsuite/gcc.target/aarch64/acle/data-intrinsics.c
! 01fdb83b04e7ce7619bfd39a9c8b8eb0  gcc/testsuite/gcc.target/aarch64/acle/fp8-helpers-neon.c
  e9303630d98d1f67dcf0881643f14517  gcc/testsuite/gcc.target/aarch64/acle/fp8-helpers-sme.c
  1f6c38a24e776d1d411aaf2cba14b65d  gcc/testsuite/gcc.target/aarch64/acle/fp8-helpers-sve.c
  ee2655ac32e03b2e446c179151077b7f  gcc/testsuite/gcc.target/aarch64/acle/fp8.c
*************** d6acea087a556597ab3449954e06312f  gcc/te
*** 75638,75643 ****
--- 75675,75682 ----
  a0596bc98ced318afc176ba91f279b2f  gcc/testsuite/gcc.target/aarch64/sve/pr122103_4.c
  c61eb748774c3997f4f52d2a5d4132a2  gcc/testsuite/gcc.target/aarch64/sve/pr122103_5.c
  bcf63cd298e561e95388f76d4fa49d65  gcc/testsuite/gcc.target/aarch64/sve/pr122103_6.c
+ 806909efa49b7a7a797b079996626314  gcc/testsuite/gcc.target/aarch64/sve/pr123697.c
+ 8d516514d55b6987b8c79e9e3ce2bdb1  gcc/testsuite/gcc.target/aarch64/sve/pr123767.c
  7e2aaf0806edd37415079b5c2e48b66c  gcc/testsuite/gcc.target/aarch64/sve/pr81003.c
  00b752a6e175de8b1a300df08f275461  gcc/testsuite/gcc.target/aarch64/sve/pr87563.c
  c56eeba71ad463673a1bdb30e7a94863  gcc/testsuite/gcc.target/aarch64/sve/pr87815.c
*************** b2d92d06e51698908b628bbf67a8336b  gcc/te
*** 77595,77600 ****
--- 77634,77640 ----
  cf400ce94034485f8a16a1cbd287c372  gcc/testsuite/gcc.target/aarch64/sve2/pr122069_2.c
  0585c8051a613504bc26d003f880104b  gcc/testsuite/gcc.target/aarch64/sve2/pr122069_3.c
  fd41242b07a3e957c67e6fe4c4c2bc33  gcc/testsuite/gcc.target/aarch64/sve2/pr122069_4.c
+ f4dd1b504179e0c5f1bcbff8fbfad589  gcc/testsuite/gcc.target/aarch64/sve2/pr123775.c
  3ddfd16fcbf89890fd9785fec8f0c081  gcc/testsuite/gcc.target/aarch64/sve2/shracc_1.c
  8cd4d6e010de57b57d5d8fb325fa79bb  gcc/testsuite/gcc.target/aarch64/sve2/unpred_mul_1.c
  826ee7c8b41bb7da016220e1f67b1306  gcc/testsuite/gcc.target/aarch64/sve2/uzpq_1.c
*************** b89bd7b9ce6a66501a3114f0ec37a670  gcc/te
*** 77674,77680 ****
  d4f0527a7281831e68658ac869eb3f53  gcc/testsuite/gcc.target/aarch64/test_frame_7.c
  5cff3820ab838755eba034e080cfb5a6  gcc/testsuite/gcc.target/aarch64/test_frame_8.c
  2448073ffbe1d605c9ff8c449a4ab04c  gcc/testsuite/gcc.target/aarch64/test_frame_9.c
! e305e52e017cd5650701a9b9bac24e7e  gcc/testsuite/gcc.target/aarch64/test_frame_common.h
  f981bb5d7ae1c0cf6fecfb1807c0d512  gcc/testsuite/gcc.target/aarch64/thunderxloadpair.c
  8dd4e974d5491f99917133956c1abdfb  gcc/testsuite/gcc.target/aarch64/thunderxnoloadpair.c
  57d3879383caede287d61f1b6ba2ebab  gcc/testsuite/gcc.target/aarch64/tls_1.x
--- 77714,77720 ----
  d4f0527a7281831e68658ac869eb3f53  gcc/testsuite/gcc.target/aarch64/test_frame_7.c
  5cff3820ab838755eba034e080cfb5a6  gcc/testsuite/gcc.target/aarch64/test_frame_8.c
  2448073ffbe1d605c9ff8c449a4ab04c  gcc/testsuite/gcc.target/aarch64/test_frame_9.c
! 674866e3ee98c94654ecc01207e8329e  gcc/testsuite/gcc.target/aarch64/test_frame_common.h
  f981bb5d7ae1c0cf6fecfb1807c0d512  gcc/testsuite/gcc.target/aarch64/thunderxloadpair.c
  8dd4e974d5491f99917133956c1abdfb  gcc/testsuite/gcc.target/aarch64/thunderxnoloadpair.c
  57d3879383caede287d61f1b6ba2ebab  gcc/testsuite/gcc.target/aarch64/tls_1.x
*************** df55bfe2c1ce46074b19b4566cedeef4  gcc/te
*** 77702,77707 ****
--- 77742,77748 ----
  6f76f09058dacb2d4652fe23212078dc  gcc/testsuite/gcc.target/aarch64/torture/simd-abi-7.c
  5e87c222f1290ba69d1c720a5d7766b3  gcc/testsuite/gcc.target/aarch64/torture/simd-abi-8.c
  d27cf5c573d83aeb3376b52fa2d42277  gcc/testsuite/gcc.target/aarch64/torture/simd-abi-9.c
+ b7768547f670e0af5185d873e5dbc62e  gcc/testsuite/gcc.target/aarch64/torture/xar-zero.c
  3f00b9061bd4be55dd74c5c3274fd431  gcc/testsuite/gcc.target/aarch64/trunc-vec.c
  243944adb745b523dc89b085c3612ccb  gcc/testsuite/gcc.target/aarch64/tst-1.c
  b408270b084f360295aac255b1236a43  gcc/testsuite/gcc.target/aarch64/tst_1.c
*************** bce9be46a9e956c5fcc66bfb68691f0f  gcc/te
*** 81411,81416 ****
--- 81452,81459 ----
  7783093cce901b3a47068de662227a6b  gcc/testsuite/gcc.target/arm/neon-offset-1.c
  2f0d808ded25a27c867026ac6296d1b9  gcc/testsuite/gcc.target/arm/neon-recip-div-1.c
  1f48b8fad239c5f29804610f9f08ce99  gcc/testsuite/gcc.target/arm/neon-reload-class.c
+ ac20adafaa278263e92b9a745a6cb0da  gcc/testsuite/gcc.target/arm/neon-smax16.c
+ 329671596e7c24a6fcb5c9d102bf7c37  gcc/testsuite/gcc.target/arm/neon-smin16.c
  ec34622d4bccd4ebbdf6fcf3d3936176  gcc/testsuite/gcc.target/arm/neon-thumb2-move.c
  add75049520bb3c0c677317469ccb57e  gcc/testsuite/gcc.target/arm/neon-vadds64.c
  323bfa59651e6ef8beef2767edd16ddf  gcc/testsuite/gcc.target/arm/neon-vaddu64.c
*************** f2610d7575b26d3fa4727d383179637f  gcc/te
*** 81756,81762 ****
  cffb59f8fe9ec70efaff181d133efaf9  gcc/testsuite/gcc.target/arm/simd/bf16_ma_2.c
  fde2c43a7c47fe7ce9ddd5247cf0715e  gcc/testsuite/gcc.target/arm/simd/bf16_mmla_1.c
  f86742a960fc1c2bd4175fbdab1ce6af  gcc/testsuite/gcc.target/arm/simd/bf16_vldn_1.c
! c85c6e997259bc6ea785859ca3cd0503  gcc/testsuite/gcc.target/arm/simd/bf16_vstn_1.c
  4cb183a1602cdf7e8df9808095457c17  gcc/testsuite/gcc.target/arm/simd/fp16fml_high.c
  86a910fbea8e786089563912a699727e  gcc/testsuite/gcc.target/arm/simd/fp16fml_lane_high.c
  ce6bfdecafebf5d96e30584ac5bde11f  gcc/testsuite/gcc.target/arm/simd/fp16fml_lane_low.c
--- 81799,81805 ----
  cffb59f8fe9ec70efaff181d133efaf9  gcc/testsuite/gcc.target/arm/simd/bf16_ma_2.c
  fde2c43a7c47fe7ce9ddd5247cf0715e  gcc/testsuite/gcc.target/arm/simd/bf16_mmla_1.c
  f86742a960fc1c2bd4175fbdab1ce6af  gcc/testsuite/gcc.target/arm/simd/bf16_vldn_1.c
! d138dd36cdbc0aeae4d19064c2462bac  gcc/testsuite/gcc.target/arm/simd/bf16_vstn_1.c
  4cb183a1602cdf7e8df9808095457c17  gcc/testsuite/gcc.target/arm/simd/fp16fml_high.c
  86a910fbea8e786089563912a699727e  gcc/testsuite/gcc.target/arm/simd/fp16fml_lane_high.c
  ce6bfdecafebf5d96e30584ac5bde11f  gcc/testsuite/gcc.target/arm/simd/fp16fml_lane_low.c
*************** a437779b91f79339828db4b1f35dc134  gcc/te
*** 82045,82051 ****
  5ca094a129c97f18e18cd11e7a3b6842  gcc/testsuite/gcc.target/arm/thumb2-mul-space-3.c
  6eb8339fb942b3c36177ff6f4f126a6e  gcc/testsuite/gcc.target/arm/thumb2-mul-space.c
  469af825b6443a20a07c0c891d8aac7a  gcc/testsuite/gcc.target/arm/thumb2-mul-speed.c
! f088ab1862e58ccb15d1872b9c458596  gcc/testsuite/gcc.target/arm/thumb2-pop-loreg.c
  6c8a6828c2f7d6c794ebbf0412b89e59  gcc/testsuite/gcc.target/arm/thumb2-replicated-constant1.c
  5e7752a46373b0139745e893c89bea36  gcc/testsuite/gcc.target/arm/thumb2-replicated-constant2.c
  5459995fa08f157d8fddb77fb2a334cd  gcc/testsuite/gcc.target/arm/thumb2-replicated-constant3.c
--- 82088,82094 ----
  5ca094a129c97f18e18cd11e7a3b6842  gcc/testsuite/gcc.target/arm/thumb2-mul-space-3.c
  6eb8339fb942b3c36177ff6f4f126a6e  gcc/testsuite/gcc.target/arm/thumb2-mul-space.c
  469af825b6443a20a07c0c891d8aac7a  gcc/testsuite/gcc.target/arm/thumb2-mul-speed.c
! d453998aeb1cbc11fac19f7fb9d8d4bb  gcc/testsuite/gcc.target/arm/thumb2-pop-loreg.c
  6c8a6828c2f7d6c794ebbf0412b89e59  gcc/testsuite/gcc.target/arm/thumb2-replicated-constant1.c
  5e7752a46373b0139745e893c89bea36  gcc/testsuite/gcc.target/arm/thumb2-replicated-constant2.c
  5459995fa08f157d8fddb77fb2a334cd  gcc/testsuite/gcc.target/arm/thumb2-replicated-constant3.c
*************** c052d916aa90fa5343dac48ba370180f  gcc/te
*** 83326,83331 ****
--- 83369,83375 ----
  ba89fea607a6fdcf2c649f9b83887f09  gcc/testsuite/gcc.target/i386/apx-1.c
  64d9611d397e2c1046819d723f4b3641  gcc/testsuite/gcc.target/i386/apx-2.c
  c608f84b293f51940f3c9578d19c6aa6  gcc/testsuite/gcc.target/i386/apx-3.c
+ 08bbfd375d8c3815f761d62ed480569e  gcc/testsuite/gcc.target/i386/apx-broadcast.c
  7c46a716064ab2dc11e37236bf6686d1  gcc/testsuite/gcc.target/i386/apx-ccmp-1.c
  1286e3c101e82be9e0b5080f0cc61848  gcc/testsuite/gcc.target/i386/apx-ccmp-2.c
  79aef985ad83db2a31872946d14eefcc  gcc/testsuite/gcc.target/i386/apx-egprs-names.c
*************** bce67b236520c561f93006d5bd66eea1  gcc/te
*** 84796,84801 ****
--- 84840,84846 ----
  38b828abde48acfe108bf890bddbcd2e  gcc/testsuite/gcc.target/i386/avx512bw-pr100267-w-2.c
  5ee9ec69a8d0c12ad27334fa1ed9ab05  gcc/testsuite/gcc.target/i386/avx512bw-pr103750-1.c
  03d4f52699f3404f94356f8b450405a9  gcc/testsuite/gcc.target/i386/avx512bw-pr103750-2.c
+ 29ed04afa1960d9493543b0fd6d0fa1c  gcc/testsuite/gcc.target/i386/avx512bw-pr123744.c
  2d319ef27177a5dd5161f6c501d73c11  gcc/testsuite/gcc.target/i386/avx512bw-pr70329-1.c
  2578aaea4945a191c1767c5b6ebde5b2  gcc/testsuite/gcc.target/i386/avx512bw-pr70329-2.c
  923b4b67baacfc2aedf431c5989f2d6e  gcc/testsuite/gcc.target/i386/avx512bw-pr70509.c
*************** f99f88a6e994ad6e55e065e41bc58f8f  gcc/te
*** 89612,89617 ****
--- 89657,89663 ----
  fd0c95fcad577a49c3553f21604c3b61  gcc/testsuite/gcc.target/i386/pr123484.c
  5263cb01b17b6df3496a998c2a8e70d8  gcc/testsuite/gcc.target/i386/pr123489.c
  0c572aee98b871b5098fcc5a78b5d069  gcc/testsuite/gcc.target/i386/pr123523.c
+ 9949ec20bd5dbd25bf3dad6832f9205f  gcc/testsuite/gcc.target/i386/pr123585.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
*************** b0a08bcc636090d105d825a0a3d1b159  gcc/te
*** 98598,98603 ****
--- 98644,98651 ----
  772299c8bb90d3144f704368bdbc7dff  gcc/testsuite/gcc.target/riscv/pr121778-1.c
  49f89ac2be2926412e68fbe76976697f  gcc/testsuite/gcc.target/riscv/pr121778-2.c
  1519612960758f4e24d6b228c6ecc3a7  gcc/testsuite/gcc.target/riscv/pr121778.c
+ f2efb1e403760ba651384395f140d44c  gcc/testsuite/gcc.target/riscv/pr121787-1.c
+ 6704284cca589a739b8ae2118470d94d  gcc/testsuite/gcc.target/riscv/pr121787-2.c
  052b9719ef24512ba3a9a1495eebcb2a  gcc/testsuite/gcc.target/riscv/pr121878.c
  149f75652a924ff51d7326419cef1b1e  gcc/testsuite/gcc.target/riscv/pr121937.c
  5da4efb1b887254a32f3e50ca5a0ea7e  gcc/testsuite/gcc.target/riscv/pr121982.c
*************** fff9d84e7d142a27609a7e87d10bfded  gcc/te
*** 98614,98619 ****
--- 98662,98668 ----
  61858fbf3627a6a698ef76b904f1ab7b  gcc/testsuite/gcc.target/riscv/pr123274.c
  ba319008fc3d471c58bb29fc9d29ccbc  gcc/testsuite/gcc.target/riscv/pr123278.c
  6eca389fe57f7e888581742c60e40dd4  gcc/testsuite/gcc.target/riscv/pr123318.c
+ 36f2729f33d66359ae39ca96a9075786  gcc/testsuite/gcc.target/riscv/pr123380.c
  37a08389ba95284cc27832767dfc1430  gcc/testsuite/gcc.target/riscv/pr43644.c
  8eba488c3d26a288644785954ea86af2  gcc/testsuite/gcc.target/riscv/pr52345.c
  db206807e7e87fc388e039471812c6e0  gcc/testsuite/gcc.target/riscv/pr58727.c
*************** f10c8a28c2ba2edec9fa062fd123d3b4  gcc/te
*** 102083,102088 ****
--- 102132,102138 ----
  8a2027e07eb7430d366baa6fba6f7079  gcc/testsuite/gcc.target/riscv/rvv/base/pr112743-2.c
  0c46defe129bdb46798119637cb7a2e1  gcc/testsuite/gcc.target/riscv/rvv/base/pr113420-1.c
  e07baf5d5588ed4ad8db81844c63e8ef  gcc/testsuite/gcc.target/riscv/rvv/base/pr113420-2.c
+ 2fc8174572643a76175313a5aada78fe  gcc/testsuite/gcc.target/riscv/rvv/base/pr113666.c
  7d23412f70ebee5a6d681dd440b5cef3  gcc/testsuite/gcc.target/riscv/rvv/base/pr113766-1.c
  cbd199ed19343af92aeb0c35b408be53  gcc/testsuite/gcc.target/riscv/rvv/base/pr113766-2.c
  d806ad060ae7740379c2b929ee5e88eb  gcc/testsuite/gcc.target/riscv/rvv/base/pr113829.c
*************** abe5cb852d5c8b368720c2010f7dde5c  gcc/te
*** 102127,102134 ****
  3086321c9a12d3eecd8f1f9ad8ecac7a  gcc/testsuite/gcc.target/riscv/rvv/base/pr120436.c
  250f19182eb5aac9b6a01d7c594e8f5f  gcc/testsuite/gcc.target/riscv/rvv/base/pr122270-1.c
  b0032fffb6e1860da7ca94cd7252c411  gcc/testsuite/gcc.target/riscv/rvv/base/pr122652.c
! 5c5e286165c8597d712cb612bb370968  gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-1.c
  64bada55e64f1bf5909df579653ca6f5  gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-2.c
  c05efbdfaafc64ad34b3d1c4b60a38eb  gcc/testsuite/gcc.target/riscv/rvv/base/pr90263.c
  be75fd39ea9b3d01e3e22294359fb482  gcc/testsuite/gcc.target/riscv/rvv/base/pragma-2.c
  20a3b581af8087da2c1170d56ff52971  gcc/testsuite/gcc.target/riscv/rvv/base/pragma-3.c
--- 102177,102187 ----
  3086321c9a12d3eecd8f1f9ad8ecac7a  gcc/testsuite/gcc.target/riscv/rvv/base/pr120436.c
  250f19182eb5aac9b6a01d7c594e8f5f  gcc/testsuite/gcc.target/riscv/rvv/base/pr122270-1.c
  b0032fffb6e1860da7ca94cd7252c411  gcc/testsuite/gcc.target/riscv/rvv/base/pr122652.c
! 1fb93600882c294d9641935b1aacb938  gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-1.c
  64bada55e64f1bf5909df579653ca6f5  gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-2.c
+ 2fb442e926debbe3c4b2f0853b8339dd  gcc/testsuite/gcc.target/riscv/rvv/base/pr122869.c
+ afe5c0f90dcda5a4d7dab1f71d0e9ae2  gcc/testsuite/gcc.target/riscv/rvv/base/pr123626.c
+ 15b1508bb10427fc88af9cfc478fb814  gcc/testsuite/gcc.target/riscv/rvv/base/pr123780.c
  c05efbdfaafc64ad34b3d1c4b60a38eb  gcc/testsuite/gcc.target/riscv/rvv/base/pr90263.c
  be75fd39ea9b3d01e3e22294359fb482  gcc/testsuite/gcc.target/riscv/rvv/base/pragma-2.c
  20a3b581af8087da2c1170d56ff52971  gcc/testsuite/gcc.target/riscv/rvv/base/pragma-3.c
*************** e5381974a3b2ccf0d38f73344c8a9078  gcc/te
*** 102904,102910 ****
  1b25858552b8cb437258bf278146d5d6  gcc/testsuite/gcc.target/riscv/rvv/vsetvl/dump-1.c
  9d2e430896393111a9b4c22466c8a590  gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-1.c
  c7b01ead74b1c2140b6970629d7e0580  gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-2.c
! 315f0ba2615efa932566161e1a556ac9  gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-3.c
  7aceacf5477c84c7acc88af610e405c8  gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-5.c
  6692ec4f04940cef34ff878f4ce2afe6  gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-6.c
  a011894c73696ec886b4c6812c8c84cb  gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-7.c
--- 102957,102963 ----
  1b25858552b8cb437258bf278146d5d6  gcc/testsuite/gcc.target/riscv/rvv/vsetvl/dump-1.c
  9d2e430896393111a9b4c22466c8a590  gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-1.c
  c7b01ead74b1c2140b6970629d7e0580  gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-2.c
! cb13238cde1f41aa866697bb3c76cddb  gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-3.c
  7aceacf5477c84c7acc88af610e405c8  gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-5.c
  6692ec4f04940cef34ff878f4ce2afe6  gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-6.c
  a011894c73696ec886b4c6812c8c84cb  gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-7.c
*************** b5858f375001f368a5271a2649982a89  gcc/te
*** 105152,105157 ****
--- 105205,105211 ----
  033a2c21a5b436ea0be85925b64ad636  gcc/testsuite/gcc.target/s390/vxe2/vlbr-1.c
  4867ef0206fcafa68e9f50126f9f6acc  gcc/testsuite/gcc.target/s390/vxe2/vstbr-1.c
  e9c716b3b95aa7f755d2ffbc70fef96d  gcc/testsuite/gcc.target/s390/vxe2/vstbr-2.c
+ 700cc48e8badd004d747c1cc677760bc  gcc/testsuite/gcc.target/s390/vxe3/vcmp-1.c
  e78213fbc65718e1688bc47eec7d1929  gcc/testsuite/gcc.target/s390/vxe3/vd-1.c
  2a817cc2f7ee38f3d328772ee6b7ef59  gcc/testsuite/gcc.target/s390/vxe3/vd-2.c
  e54c8148e7c43cb3dcd85f866133dce5  gcc/testsuite/gcc.target/s390/vxe3/vdl-1.c
*************** af22045a959ddc0c2cc8b9216e2ec4aa  gcc/te
*** 106499,106505 ****
  68936fbe708c1d13dcaca6e4a4a06f77  gcc/testsuite/gdc.dg/extern-c++/pr101664_1.cc
  a1a48cc59d8f09de15d5d5519e240770  gcc/testsuite/gdc.dg/fileimports/pr93038.txt
  c69a3dd720569faf707784a61e92e802  gcc/testsuite/gdc.dg/gcov.exp
! 416c982f404cd1b55a14b579f5638663  gcc/testsuite/gdc.dg/gcov1.d
  0da416e7dcac2139d3182637a81efbfe  gcc/testsuite/gdc.dg/gdc108.d
  5761ceeebbd93d112778a153a688475a  gcc/testsuite/gdc.dg/gdc121.d
  9d0b9084661f19d1dc4522e26fa4c876  gcc/testsuite/gdc.dg/gdc122.d
--- 106553,106559 ----
  68936fbe708c1d13dcaca6e4a4a06f77  gcc/testsuite/gdc.dg/extern-c++/pr101664_1.cc
  a1a48cc59d8f09de15d5d5519e240770  gcc/testsuite/gdc.dg/fileimports/pr93038.txt
  c69a3dd720569faf707784a61e92e802  gcc/testsuite/gdc.dg/gcov.exp
! 8b9d8ea26faad8490925cea6d0b166d5  gcc/testsuite/gdc.dg/gcov1.d
  0da416e7dcac2139d3182637a81efbfe  gcc/testsuite/gdc.dg/gdc108.d
  5761ceeebbd93d112778a153a688475a  gcc/testsuite/gdc.dg/gdc121.d
  9d0b9084661f19d1dc4522e26fa4c876  gcc/testsuite/gdc.dg/gdc122.d
*************** daa1172ed1d5a6072057b20aaca3b1ec  gcc/te
*** 115167,115173 ****
  702b0cdf61e5478dccaf83e842bc3466  gcc/testsuite/gfortran.dg/graphite/vect-pr40979.f90
  7f4798472e54ab24309f0edab16c91d1  gcc/testsuite/gfortran.dg/graphite/vect-pr94043.f90
  6d96f31789e9318047e153d50e613791  gcc/testsuite/gfortran.dg/guality/arg1.f90
! 730335b06412cc42ddaafe247e9959c4  gcc/testsuite/gfortran.dg/guality/guality.exp
  d4160e104059a3b57d5b80ddb9140570  gcc/testsuite/gfortran.dg/guality/pr119190.f90
  f6dc189e3efd8e05cb4f9668eaf8fdbe  gcc/testsuite/gfortran.dg/guality/pr120193.f90
  9e2790792b04c03a1a0860c862a27b4b  gcc/testsuite/gfortran.dg/guality/pr41558.f90
--- 115221,115227 ----
  702b0cdf61e5478dccaf83e842bc3466  gcc/testsuite/gfortran.dg/graphite/vect-pr40979.f90
  7f4798472e54ab24309f0edab16c91d1  gcc/testsuite/gfortran.dg/graphite/vect-pr94043.f90
  6d96f31789e9318047e153d50e613791  gcc/testsuite/gfortran.dg/guality/arg1.f90
! 4f65ccf420e9a7c519d9a87031a8248d  gcc/testsuite/gfortran.dg/guality/guality.exp
  d4160e104059a3b57d5b80ddb9140570  gcc/testsuite/gfortran.dg/guality/pr119190.f90
  f6dc189e3efd8e05cb4f9668eaf8fdbe  gcc/testsuite/gfortran.dg/guality/pr120193.f90
  9e2790792b04c03a1a0860c862a27b4b  gcc/testsuite/gfortran.dg/guality/pr41558.f90
*************** f9528d7042bf84bf037d6e2b109272ec  gcc/te
*** 115316,115322 ****
  1b2b68c816459c1a9395771e9851de87  gcc/testsuite/gfortran.dg/implied_shape_3.f08
  0ec311cea2ac2c8347726d9488fca576  gcc/testsuite/gfortran.dg/implied_shape_4.f90
  c4dc7637ce6ee75800a350bddf95a6b2  gcc/testsuite/gfortran.dg/implied_shape_5.f90
! e6959f502764a61ef25925560ccc35a1  gcc/testsuite/gfortran.dg/import.f90
  ea1b1f8cf0ee787e7d0c693d6c3fc9e2  gcc/testsuite/gfortran.dg/import10.f90
  16022a993227b688a8bfceb5feae8495  gcc/testsuite/gfortran.dg/import11.f90
  3a3b6144cda61f31853ff73e0f058d0a  gcc/testsuite/gfortran.dg/import12.f90
--- 115370,115376 ----
  1b2b68c816459c1a9395771e9851de87  gcc/testsuite/gfortran.dg/implied_shape_3.f08
  0ec311cea2ac2c8347726d9488fca576  gcc/testsuite/gfortran.dg/implied_shape_4.f90
  c4dc7637ce6ee75800a350bddf95a6b2  gcc/testsuite/gfortran.dg/implied_shape_5.f90
! 574b3a996c7d0296245696e3d39abad6  gcc/testsuite/gfortran.dg/import.f90
  ea1b1f8cf0ee787e7d0c693d6c3fc9e2  gcc/testsuite/gfortran.dg/import10.f90
  16022a993227b688a8bfceb5feae8495  gcc/testsuite/gfortran.dg/import11.f90
  3a3b6144cda61f31853ff73e0f058d0a  gcc/testsuite/gfortran.dg/import12.f90
*************** a01a62a01e9e7263ce5c3eb6b06e96a7  gcc/te
*** 116949,116954 ****
--- 117003,117010 ----
  b6e7e7e8bea9878d7980ddcd5a97c5f5  gcc/testsuite/gfortran.dg/pr122513.f90
  b9c77c8cd78fcd9e57fbfafe732a8c95  gcc/testsuite/gfortran.dg/pr122936.f90
  fa053690c35a7cf0e14a876e94c10140  gcc/testsuite/gfortran.dg/pr122957.f90
+ ca5d5af755aea457c1fd083af79f190d  gcc/testsuite/gfortran.dg/pr123375.f90
+ fb1e8e16263374f736a90ec7790bb21b  gcc/testsuite/gfortran.dg/pr123772.f03
  984f8307f36d56a0b48b5acce2dd5eb5  gcc/testsuite/gfortran.dg/pr12884.f
  64075248b9d1bffd6f380bb4e2a6eae0  gcc/testsuite/gfortran.dg/pr15129.f90
  2b5f18b773a5db29b0a2ee2d8cce767c  gcc/testsuite/gfortran.dg/pr15140.f90
*************** e3172873ebcacc53ed7031ec75e9c916  gcc/te
*** 119166,119171 ****
--- 119222,119228 ----
  943be5f26b034cab4a8d80ed72f35e29  gcc/testsuite/gfortran.dg/vect/vect-do-concurrent-1.f90
  f153623f2b5e969448f7c1a751dd783d  gcc/testsuite/gfortran.dg/vect/vect-early-break_1-pr113808.f90
  51d61a0ffbe2e176d92badb55eaf6889  gcc/testsuite/gfortran.dg/vect/vect-gems.f90
+ a28c6b7265042047039bb29c34ef4fcd  gcc/testsuite/gfortran.dg/vect/vect-pr123741.f90
  d64d274749ffaaabd681e28386dc0c14  gcc/testsuite/gfortran.dg/vect/vect.exp
  5020f9773f3c21b86ac1fe3e513943a0  gcc/testsuite/gfortran.dg/vector_subscript_1.f90
  0833fb55cdacc085a113140aa1d94458  gcc/testsuite/gfortran.dg/vector_subscript_2.f90
*************** cef4cbf18f95208dd8c0b2e5062761c5  gcc/te
*** 122652,122658 ****
  8c236e214d430f44a72a4fb521b9961f  gcc/testsuite/gnat.dg/frunaligned1.ads
  d0689d7d2df99b8a9bdfa7461addbca6  gcc/testsuite/gnat.dg/g_tables.adb
  42a1a84a561d8513a3ddb03c1873df86  gcc/testsuite/gnat.dg/g_tables.ads
! e0d843a3b7f190ee400816b919cc276e  gcc/testsuite/gnat.dg/gcov/check.adb
  fdda33896f4bfadf0bf85c8e121c91be  gcc/testsuite/gnat.dg/gcov/gcov.exp
  98054bebce7ebc5df6d4a6a4178bf29c  gcc/testsuite/gnat.dg/gen_disp.adb
  8ce8ee3ebe319b0b6252b4307844d6c5  gcc/testsuite/gnat.dg/gen_disp.ads
--- 122709,122715 ----
  8c236e214d430f44a72a4fb521b9961f  gcc/testsuite/gnat.dg/frunaligned1.ads
  d0689d7d2df99b8a9bdfa7461addbca6  gcc/testsuite/gnat.dg/g_tables.adb
  42a1a84a561d8513a3ddb03c1873df86  gcc/testsuite/gnat.dg/g_tables.ads
! af4e98fe9c6f2a8676391953c0620804  gcc/testsuite/gnat.dg/gcov/check.adb
  fdda33896f4bfadf0bf85c8e121c91be  gcc/testsuite/gnat.dg/gcov/gcov.exp
  98054bebce7ebc5df6d4a6a4178bf29c  gcc/testsuite/gnat.dg/gen_disp.adb
  8ce8ee3ebe319b0b6252b4307844d6c5  gcc/testsuite/gnat.dg/gen_disp.ads
*************** da22f29f94ebe295441ccc41597913b0  gcc/te
*** 122690,122695 ****
--- 122747,122758 ----
  723ce0ce8ad5f32a4545060ea1497dcd  gcc/testsuite/gnat.dg/generic_inst15.adb
  8cdbeaa75ec1a34f9425e5de9b2c48ce  gcc/testsuite/gnat.dg/generic_inst15_pkg-g.ads
  8a0469f67965b0510cf7ae79d1408f8b  gcc/testsuite/gnat.dg/generic_inst15_pkg.ads
+ 805df358d6aa478a18c1f6bc0729ce95  gcc/testsuite/gnat.dg/generic_inst16.adb
+ 7079f833540535d9e5214ea3439184fc  gcc/testsuite/gnat.dg/generic_inst16_pkg-child-grandchild.ads
+ cbda4ce37f542285b521cda175f88ae8  gcc/testsuite/gnat.dg/generic_inst16_pkg-child.ads
+ dd47c03d89ee0f8e064407c83ce2bd8a  gcc/testsuite/gnat.dg/generic_inst16_pkg.ads
+ f2632b1a519e9ef9974bffe9e87a626f  gcc/testsuite/gnat.dg/generic_inst16_proc.adb
+ 8cff9a48dce3a564b54a3bb3f90eb85d  gcc/testsuite/gnat.dg/generic_inst16_proc.ads
  bfa8ba450e641250f8eccf95997dd260  gcc/testsuite/gnat.dg/generic_inst2.adb
  063cf5c93b1a85bf617a62be0da63bdb  gcc/testsuite/gnat.dg/generic_inst2.ads
  2faefd507420ceafdccad8d472e66202  gcc/testsuite/gnat.dg/generic_inst2_c.ads
*************** a0ed36c59884ca42f622cc1d30faff4d  gcc/te
*** 126760,126766 ****
  5a6de494accc5d43d4daa0ed3d05846b  gcc/testsuite/lib/gcc-gdb-test.exp
  5d43c86c0be2338b09999f28a2d4ae79  gcc/testsuite/lib/gcc-simulate-thread.exp
  f137fa2e280bd8fee6a57544dbe520a8  gcc/testsuite/lib/gcc.exp
! 89ac16c64ea0883a89a11a2e6fdb78f6  gcc/testsuite/lib/gcov.exp
  1ab113b2aab75f691397f0a23c85a675  gcc/testsuite/lib/gdc-dg.exp
  ad266dd5d573dd7822e061f90f03b001  gcc/testsuite/lib/gdc-utils.exp
  659d28254b74bb134c269af0f05ac5d1  gcc/testsuite/lib/gdc.exp
--- 126823,126829 ----
  5a6de494accc5d43d4daa0ed3d05846b  gcc/testsuite/lib/gcc-gdb-test.exp
  5d43c86c0be2338b09999f28a2d4ae79  gcc/testsuite/lib/gcc-simulate-thread.exp
  f137fa2e280bd8fee6a57544dbe520a8  gcc/testsuite/lib/gcc.exp
! c9227c4c135d0c2dda85d1e50917d3d8  gcc/testsuite/lib/gcov.exp
  1ab113b2aab75f691397f0a23c85a675  gcc/testsuite/lib/gdc-dg.exp
  ad266dd5d573dd7822e061f90f03b001  gcc/testsuite/lib/gdc-utils.exp
  659d28254b74bb134c269af0f05ac5d1  gcc/testsuite/lib/gdc.exp
*************** dcca2356651dbcc61d225f2af14de39c  gcc/te
*** 129402,129407 ****
--- 129465,129471 ----
  cc335159bd4b1435e0f6c4bc572bc184  gcc/testsuite/sarif-replay.dg/2.1.0-invalid/3.40.2-duplicate-node-id.sarif
  c7e878f53efdf3a2d5b1173b2e628b03  gcc/testsuite/sarif-replay.dg/2.1.0-invalid/3.41.4-unrecognized-node-id.sarif
  7b5a5f8637280fb420dd43c789b33d9b  gcc/testsuite/sarif-replay.dg/2.1.0-unhandled/3.27.10-none-level.sarif
+ eea32ee4c1d0c6d729ea4b60fb1cc4c4  gcc/testsuite/sarif-replay.dg/2.1.0-valid/3.11.6-embedded-links-pr123056.sarif
  b5deb27ab6d9cd4607e2e25fbd9a5594  gcc/testsuite/sarif-replay.dg/2.1.0-valid/3.11.6-embedded-links.sarif
  984abc6c1fa0578f7f070ea81531b615  gcc/testsuite/sarif-replay.dg/2.1.0-valid/3.27.30-fixes-1.sarif
  a5f27c1dd2784330c1b584360a486c85  gcc/testsuite/sarif-replay.dg/2.1.0-valid/3.27.30-fixes-2.sarif
*************** e70f2852bac8d2f4f94124af298eb001  gcc/te
*** 129411,129422 ****
--- 129475,129490 ----
  f7226a417a6156e62d6cb64ecfbb3853  gcc/testsuite/sarif-replay.dg/2.1.0-valid/3.33.7-xml-example.sarif
  6a8d404c5928169266e8028c674f68ea  gcc/testsuite/sarif-replay.dg/2.1.0-valid/embedded-links-check-html.py
  e2b63c4d2b76163b1f31857690b5e899  gcc/testsuite/sarif-replay.dg/2.1.0-valid/embedded-links-check-sarif-roundtrip.py
+ b6077e077a1a5476709462b0ff857dcc  gcc/testsuite/sarif-replay.dg/2.1.0-valid/embedded-links-pr123056-check-html.py
+ b95c5d4795eaed793182304b21e84ee5  gcc/testsuite/sarif-replay.dg/2.1.0-valid/embedded-links-pr123056-check-sarif-roundtrip.py
  d857a4331f097987a1bb7433f321c1c0  gcc/testsuite/sarif-replay.dg/2.1.0-valid/error-with-note.sarif
  eb63c8ccd144fcb7c3f54ce6920d725c  gcc/testsuite/sarif-replay.dg/2.1.0-valid/escaped-braces.sarif
  64c6115dde79342ac42e205f3f37d700  gcc/testsuite/sarif-replay.dg/2.1.0-valid/graphs-check-html.py
  c9a71bb22094924ec0c655c680eae543  gcc/testsuite/sarif-replay.dg/2.1.0-valid/graphs-check-sarif-roundtrip.py
  c40d79f9c6a5eb2e2d3401b73c6dee1e  gcc/testsuite/sarif-replay.dg/2.1.0-valid/graphs.sarif
  0cc960ceb5aae05d1918cf826e8a2d24  gcc/testsuite/sarif-replay.dg/2.1.0-valid/malloc-vs-local-4.c.sarif
+ 4f2d6e08e2f3f2081b2db79b4eeaacbf  gcc/testsuite/sarif-replay.dg/2.1.0-valid/missing-source-pr122622-check-html.py
+ 3c107c2bbfc63b7329425402fcf8e52d  gcc/testsuite/sarif-replay.dg/2.1.0-valid/missing-source-pr122622.sarif
  795f81ae7fe7ff3b7e2050ce50109741  gcc/testsuite/sarif-replay.dg/2.1.0-valid/nested-diagnostics-1.sarif
  58ef936e0f61e7fcd03fa86d5bb33ad5  gcc/testsuite/sarif-replay.dg/2.1.0-valid/null-runs.sarif
  e1207cfbffed1df00d3b4847dcf55ac9  gcc/testsuite/sarif-replay.dg/2.1.0-valid/signal-1-check-html.py
*************** dc142daa06fc4684b34c027dc0d07c37  gcc/te
*** 129426,129433 ****
  64db82f344ff8933016b20daf63eb736  gcc/testsuite/sarif-replay.dg/2.1.0-valid/spec-example-1.sarif
  e44e7f711326621f8da1e53202252b2f  gcc/testsuite/sarif-replay.dg/2.1.0-valid/spec-example-2.sarif
  2a1077e4fb1ab5b1d22508c9bad1d155  gcc/testsuite/sarif-replay.dg/2.1.0-valid/spec-example-3.sarif
! 76e981d319ae75180afa09c2eaca125a  gcc/testsuite/sarif-replay.dg/2.1.0-valid/spec-example-4.sarif
! a55047d9482898adea5abb605a4009fd  gcc/testsuite/sarif-replay.dg/2.1.0-valid/tutorial-example.sarif
  ab6ec595b154baff03158cc14174359a  gcc/testsuite/sarif-replay.dg/2.1.0-valid/unlabelled-secondary-locations.sarif
  16c93b920d9449b96138146aed4b6308  gcc/testsuite/sarif-replay.dg/dg.exp
  b02781e284b82d6defcd3dcab353dc23  gcc/testsuite/sarif-replay.dg/malformed-json/array-missing-comma.sarif
--- 129494,129501 ----
  64db82f344ff8933016b20daf63eb736  gcc/testsuite/sarif-replay.dg/2.1.0-valid/spec-example-1.sarif
  e44e7f711326621f8da1e53202252b2f  gcc/testsuite/sarif-replay.dg/2.1.0-valid/spec-example-2.sarif
  2a1077e4fb1ab5b1d22508c9bad1d155  gcc/testsuite/sarif-replay.dg/2.1.0-valid/spec-example-3.sarif
! 5b40f5f4cad1275658f80fc59a4db0cd  gcc/testsuite/sarif-replay.dg/2.1.0-valid/spec-example-4.sarif
! 549b9bea9ecfadb39d1b968de771a935  gcc/testsuite/sarif-replay.dg/2.1.0-valid/tutorial-example.sarif
  ab6ec595b154baff03158cc14174359a  gcc/testsuite/sarif-replay.dg/2.1.0-valid/unlabelled-secondary-locations.sarif
  16c93b920d9449b96138146aed4b6308  gcc/testsuite/sarif-replay.dg/dg.exp
  b02781e284b82d6defcd3dcab353dc23  gcc/testsuite/sarif-replay.dg/malformed-json/array-missing-comma.sarif
*************** c0b991692c06f34bf7f8673802e7b155  gcc/te
*** 129458,129463 ****
--- 129526,129532 ----
  5fb2390505ce446a223d21f02b332874  gcc/testsuite/selftests/x86_64/copy-hard-reg-into-frame.rtl
  e42076aeff1c5ac155a88db5b1993d38  gcc/testsuite/selftests/x86_64/times-two.rtl
  195d431640249dac1928ced4d93ecb76  gcc/testsuite/selftests/x86_64/unspec.rtl
+ 5bf662844191f6cef3adde64d58741b4  gcc/testsuite/sparseset.supp
  4f2cac6fe70242fd7fe19fc4905f4d47  gcc/text-art/box-drawing-chars.inc
  0066e612662021a13d96d6b2d494eb89  gcc/text-art/box-drawing.cc
  f265270649135d73a0e62a9ae94c76b9  gcc/text-art/box-drawing.h
*************** c8e26af48c749019e87aa9559c16101d  gcc/tr
*** 129541,129547 ****
  898be2fb978b49d3654ad458a2cfab7d  gcc/tree-parloops.h
  fe7cb8d01db48420c7b2914863f3580c  gcc/tree-pass.h
  559089300f750cecc62d34797418b3cc  gcc/tree-phinodes.cc
! 2c7c1113ffe65976e40c16348adcd4c7  gcc/tree-phinodes.h
  a24cff30baef257a999b4fac3ca47d5a  gcc/tree-predcom.cc
  47856333edaecc32813dad93ecb96fbe  gcc/tree-pretty-print-markup.h
  a915783d6a3d6ec96408624f8773e9b7  gcc/tree-pretty-print.cc
--- 129610,129616 ----
  898be2fb978b49d3654ad458a2cfab7d  gcc/tree-parloops.h
  fe7cb8d01db48420c7b2914863f3580c  gcc/tree-pass.h
  559089300f750cecc62d34797418b3cc  gcc/tree-phinodes.cc
! d370934f01e7c80fa4e88a80fabbcb95  gcc/tree-phinodes.h
  a24cff30baef257a999b4fac3ca47d5a  gcc/tree-predcom.cc
  47856333edaecc32813dad93ecb96fbe  gcc/tree-pretty-print-markup.h
  a915783d6a3d6ec96408624f8773e9b7  gcc/tree-pretty-print.cc
*************** c1c4fe85c3abe80948e72eb9950ff189  gcc/tr
*** 129567,129578 ****
  ec31925fe8431d27258939fc79f1f02e  gcc/tree-ssa-dom.h
  2def3c3d20d186b56fd7b598ee0124be  gcc/tree-ssa-dse.cc
  1df01d660e0f98ade0ae7a3152aa33ed  gcc/tree-ssa-dse.h
! db94ce817c590cac6e4a1e4f7d3b1dc2  gcc/tree-ssa-forwprop.cc
  44658616283db8f7d8bb40eb2c38e605  gcc/tree-ssa-ifcombine.cc
  96b11e029c398aaecd1c642c41c88884  gcc/tree-ssa-live.cc
  7c36b95c9d109be3302936ceed49fb4f  gcc/tree-ssa-live.h
  dcaeaaad1469ccb53d09d0c3975284d7  gcc/tree-ssa-loop-ch.cc
! 492cb224057825be76972299a81f9ddc  gcc/tree-ssa-loop-im.cc
  f8b96abb98adf78d9bf9645ec4529541  gcc/tree-ssa-loop-ivcanon.cc
  0352f316ce735254fc0a8394edd81dc6  gcc/tree-ssa-loop-ivopts.cc
  73db7c26eb3c2afa63524b388a9849fd  gcc/tree-ssa-loop-ivopts.h
--- 129636,129647 ----
  ec31925fe8431d27258939fc79f1f02e  gcc/tree-ssa-dom.h
  2def3c3d20d186b56fd7b598ee0124be  gcc/tree-ssa-dse.cc
  1df01d660e0f98ade0ae7a3152aa33ed  gcc/tree-ssa-dse.h
! 427c42bd235a552072e9b0d2763d882b  gcc/tree-ssa-forwprop.cc
  44658616283db8f7d8bb40eb2c38e605  gcc/tree-ssa-ifcombine.cc
  96b11e029c398aaecd1c642c41c88884  gcc/tree-ssa-live.cc
  7c36b95c9d109be3302936ceed49fb4f  gcc/tree-ssa-live.h
  dcaeaaad1469ccb53d09d0c3975284d7  gcc/tree-ssa-loop-ch.cc
! 2b7917b8cadbc3f3b3807f67ee57a48b  gcc/tree-ssa-loop-im.cc
  f8b96abb98adf78d9bf9645ec4529541  gcc/tree-ssa-loop-ivcanon.cc
  0352f316ce735254fc0a8394edd81dc6  gcc/tree-ssa-loop-ivopts.cc
  73db7c26eb3c2afa63524b388a9849fd  gcc/tree-ssa-loop-ivopts.h
*************** d6013c7f2ea70d40b0d82c53eacccd45  gcc/tr
*** 129582,129588 ****
  722669ffcd66a5eddeeebe77512a22fa  gcc/tree-ssa-loop-niter.h
  a00381a12f6e0a0c69845030d621d615  gcc/tree-ssa-loop-prefetch.cc
  ad87c41606eb7cb23a85736982ce8b9f  gcc/tree-ssa-loop-split.cc
! 96d48e8addbd4bad57e98cb00eebcc04  gcc/tree-ssa-loop-unswitch.cc
  faa18178392bba086edee765e464318c  gcc/tree-ssa-loop.cc
  c1590659dad2b41a69adb7654db65644  gcc/tree-ssa-loop.h
  d746bb26f2340ebcb931e43dc812a2d8  gcc/tree-ssa-math-opts.cc
--- 129651,129657 ----
  722669ffcd66a5eddeeebe77512a22fa  gcc/tree-ssa-loop-niter.h
  a00381a12f6e0a0c69845030d621d615  gcc/tree-ssa-loop-prefetch.cc
  ad87c41606eb7cb23a85736982ce8b9f  gcc/tree-ssa-loop-split.cc
! 7d41277dc2b070fc20de82de11dfe8bc  gcc/tree-ssa-loop-unswitch.cc
  faa18178392bba086edee765e464318c  gcc/tree-ssa-loop.cc
  c1590659dad2b41a69adb7654db65644  gcc/tree-ssa-loop.h
  d746bb26f2340ebcb931e43dc812a2d8  gcc/tree-ssa-math-opts.cc
*************** fa83f982a805985b3a3da2ca5e10e43a  gcc/tr
*** 129591,129597 ****
  f83d0b12185538e6f679296bebfe3d2f  gcc/tree-ssa-operands.h
  71e56a69753c0fbb913084daa66a1fc0  gcc/tree-ssa-phiopt.cc
  449b769bbd461c05c5cd26af91829d37  gcc/tree-ssa-phiprop.cc
! 47053be5dfc570966a87d1ef62a039ff  gcc/tree-ssa-pre.cc
  c4d808a5a97aafd0f847b4cb7aea56b2  gcc/tree-ssa-propagate.cc
  d38017eb69a50f24b5e47ee97928afde  gcc/tree-ssa-propagate.h
  d5d56178aca97e6452d6109cc13702cc  gcc/tree-ssa-reassoc.cc
--- 129660,129666 ----
  f83d0b12185538e6f679296bebfe3d2f  gcc/tree-ssa-operands.h
  71e56a69753c0fbb913084daa66a1fc0  gcc/tree-ssa-phiopt.cc
  449b769bbd461c05c5cd26af91829d37  gcc/tree-ssa-phiprop.cc
! 9e8fa18fcd80eac2ecc935defc6a92f8  gcc/tree-ssa-pre.cc
  c4d808a5a97aafd0f847b4cb7aea56b2  gcc/tree-ssa-propagate.cc
  d38017eb69a50f24b5e47ee97928afde  gcc/tree-ssa-propagate.h
  d5d56178aca97e6452d6109cc13702cc  gcc/tree-ssa-reassoc.cc
*************** d05b6cdafcded128262d93d015eb5396  gcc/tr
*** 129629,129646 ****
  e316eddfbf9a02433a4ee93e648f3aa4  gcc/tree-switch-conversion.h
  6a0f6268d598b3c59871ad41e01f33c1  gcc/tree-tailcall.cc
  8b778220f046450b620cf0b570927dd3  gcc/tree-vect-data-refs.cc
! 952f93181ad4691b6a87ae3d877a0b6e  gcc/tree-vect-generic.cc
  c1cdefadc1abb9281e2f4868a0bc14ff  gcc/tree-vect-loop-manip.cc
! 1938f848ac6d901afee701c65c3884da  gcc/tree-vect-loop.cc
  550c845a7dca165130319d9b3d1f4b0f  gcc/tree-vect-patterns.cc
  ef0b51a362b8764cf6b0628ed16b2dde  gcc/tree-vect-slp-patterns.cc
  1c5c289a3b0b8bbc09c2836b9217e035  gcc/tree-vect-slp.cc
! bfdc9870ad5872634030f2fa692f0d60  gcc/tree-vect-stmts.cc
  42032e04f389a2e0f43fbb46ac091dac  gcc/tree-vector-builder.cc
  4a1b4947e64a076fdca46d14aab2181f  gcc/tree-vector-builder.h
  29624134a45fa2e54db69b6ee376164d  gcc/tree-vectorizer.cc
  2bb36bce638c2744f5faccd34387b512  gcc/tree-vectorizer.h
! 4c3ac67391ddc3b07a2816d1bd537f5e  gcc/tree-vrp.cc
  d7273e63988959e17e61bc75f7f0cf29  gcc/tree-vrp.h
  d18ffa514babe55e8b1ef60efaf54e55  gcc/tree.cc
  f88475a43ca5e7c59112c941875a762c  gcc/tree.def
--- 129698,129715 ----
  e316eddfbf9a02433a4ee93e648f3aa4  gcc/tree-switch-conversion.h
  6a0f6268d598b3c59871ad41e01f33c1  gcc/tree-tailcall.cc
  8b778220f046450b620cf0b570927dd3  gcc/tree-vect-data-refs.cc
! a423c268d5ba9ac563732fd6d038c572  gcc/tree-vect-generic.cc
  c1cdefadc1abb9281e2f4868a0bc14ff  gcc/tree-vect-loop-manip.cc
! 6bc54fe708866aa6fe7e186e0055d0bc  gcc/tree-vect-loop.cc
  550c845a7dca165130319d9b3d1f4b0f  gcc/tree-vect-patterns.cc
  ef0b51a362b8764cf6b0628ed16b2dde  gcc/tree-vect-slp-patterns.cc
  1c5c289a3b0b8bbc09c2836b9217e035  gcc/tree-vect-slp.cc
! 8c1461c74e28a586e265605649368c74  gcc/tree-vect-stmts.cc
  42032e04f389a2e0f43fbb46ac091dac  gcc/tree-vector-builder.cc
  4a1b4947e64a076fdca46d14aab2181f  gcc/tree-vector-builder.h
  29624134a45fa2e54db69b6ee376164d  gcc/tree-vectorizer.cc
  2bb36bce638c2744f5faccd34387b512  gcc/tree-vectorizer.h
! 366e0ed463591e966ced4d1fd421282d  gcc/tree-vrp.cc
  d7273e63988959e17e61bc75f7f0cf29  gcc/tree-vrp.h
  d18ffa514babe55e8b1ef60efaf54e55  gcc/tree.cc
  f88475a43ca5e7c59112c941875a762c  gcc/tree.def
*************** f26e462c6f89f856041d649e1dfa527e  includ
*** 129774,129782 ****
  46d6319e8ffc7eabf27cbecd6141a912  libada/configure
  ab9e00e84d092822a6cc241ba44f609b  libada/configure.ac
  46d3fe6da7a771cc2d5420c4137a6861  libatomic/.gitignore
! 34eb3a1522b263e1cfa7ee5c6a9de128  libatomic/ChangeLog
! 208c462ec1d8ae3f09cbb92c26654e5a  libatomic/Makefile.am
! 43f4169557cdd56f6a478b34d9ee2d58  libatomic/Makefile.in
  357dab2e679ef947dacf67e851f4e4ba  libatomic/acinclude.m4
  24697a8f49205fd232a3f6f3870a5d40  libatomic/aclocal.m4
  b741b38c451feebdcd9aedce6e37b702  libatomic/auto-config.h.in
--- 129843,129851 ----
  46d6319e8ffc7eabf27cbecd6141a912  libada/configure
  ab9e00e84d092822a6cc241ba44f609b  libada/configure.ac
  46d3fe6da7a771cc2d5420c4137a6861  libatomic/.gitignore
! 10c1d0433908f33bda89d6b1b6539786  libatomic/ChangeLog
! 04e767371632b3f3d07691f8b680debc  libatomic/Makefile.am
! a96ad036b220d80426c2bce737e54a9f  libatomic/Makefile.in
  357dab2e679ef947dacf67e851f4e4ba  libatomic/acinclude.m4
  24697a8f49205fd232a3f6f3870a5d40  libatomic/aclocal.m4
  b741b38c451feebdcd9aedce6e37b702  libatomic/auto-config.h.in
*************** ccfc3fd656c22a300f42e57f02683c9a  libato
*** 129834,129841 ****
  c93b85d7b95ed603e6bde591f826d6c5  libatomic/host-config.h
  0e7ef9ed2b60ec1c9afc38701d815f6c  libatomic/init.c
  2fe463a1aa0855eab0961f927f300752  libatomic/libatomic.map
- 342fb60591d316cde0b860cb9bd6cb3f  libatomic/libatomic_asneeded.a
- 68f1fe6adbc4a3afa4481ca88736b31a  libatomic/libatomic_asneeded.so
  8e58d225b6fad8afd12425ed65404cf1  libatomic/libatomic_i.h
  1708f3694a349f00c13d500f4bd5088c  libatomic/load_n.c
  25ed5bbc5d4edc9b495cdaad40b37de2  libatomic/store_n.c
--- 129903,129908 ----
*************** a3eb5dee2788fe0a6c42502ba658eddd  libffi
*** 130503,130531 ****
  0f3c94e520870e194cf525de7ec404dc  libffi/testsuite/libffi.go/ffitest.h
  6cfb66c1c00023abb2c2276d85f16e77  libffi/testsuite/libffi.go/go.exp
  189dc193fd0e627a2d55b2e84871edc5  libffi/testsuite/libffi.go/static-chain.h
! e7c88dc8684152aab42cb8bb80b95d30  libga68/ChangeLog
  fad297e84229ab9c5c178ad0fc368da2  libga68/Makefile.am
  6005e14bc427347f6465e1567a1e1455  libga68/Makefile.in
  e582170826a5049ebe5f76ccb66fe5f2  libga68/README
  b448cc4384a1f4e710c59734055b7e8a  libga68/acinclude.m4
  32da020621b62d1b431988a5525d7995  libga68/aclocal.m4
  cf6be962dfa097e1e50ffbb773452c38  libga68/config.h.in
! 17067e44b9eeb74933bca7dfec50f0fa  libga68/configure
! bebb5164879c36309fb118c1cd13bf95  libga68/configure.ac
! 7e8fa409baf1ded0502dc80128925cb6  libga68/ga68-alloc.c
  ab4bfff29b367495b338f951fb77ffd9  libga68/ga68-error.c
! d1fcb12f6315dd37431de90213b6072f  libga68/ga68-posix.c
  12f59efc2c02c8e22bec45f9a718e690  libga68/ga68-standenv.c
! 22e9422de2a410aa671576d3c7af8b4c  libga68/ga68-unistr.c
! 5b145c093893997f8d8709415adff05a  libga68/ga68.h
! 64bbed11c72e38aae5269d86d6933f88  libga68/ga68.map
  93e37daf5a03d1329323ba4894247de0  libga68/libga68.c
  5a99bd84e0794e311b25ab281d6c294a  libga68/libga68.spec.in
  6594537b1b235e3988700b7509cf7a42  libga68/libtool-version
  fc49680d0c6e77e437523ea496a6b8c4  libga68/m4/autoconf.m4
  b0d017b83148520411f1c1ebdbf28b58  libga68/sppp.awk
  de04458df73a22c6f12b67294ae6d428  libga68/transput.a68.in
! ffdad7e6f506041442064fea3137d98b  libgcc/ChangeLog
  9ce0b8c50fec68eb0555ae800e4e457e  libgcc/Makefile.in
  0dafba01dbe15f4c680f6fe25dd268f1  libgcc/config.host
  46412830a2ee8a02503ccc921912c3cf  libgcc/config.in
--- 130570,130598 ----
  0f3c94e520870e194cf525de7ec404dc  libffi/testsuite/libffi.go/ffitest.h
  6cfb66c1c00023abb2c2276d85f16e77  libffi/testsuite/libffi.go/go.exp
  189dc193fd0e627a2d55b2e84871edc5  libffi/testsuite/libffi.go/static-chain.h
! 7c11d4e1a0ca9f53e24667e7100554b0  libga68/ChangeLog
  fad297e84229ab9c5c178ad0fc368da2  libga68/Makefile.am
  6005e14bc427347f6465e1567a1e1455  libga68/Makefile.in
  e582170826a5049ebe5f76ccb66fe5f2  libga68/README
  b448cc4384a1f4e710c59734055b7e8a  libga68/acinclude.m4
  32da020621b62d1b431988a5525d7995  libga68/aclocal.m4
  cf6be962dfa097e1e50ffbb773452c38  libga68/config.h.in
! 37187e5a42fcecfef1a467140c165e7e  libga68/configure
! 1b45ba632e248a206c0fd70c7648f70d  libga68/configure.ac
! 31e3a8364abfe35f3f97497f291562ae  libga68/ga68-alloc.c
  ab4bfff29b367495b338f951fb77ffd9  libga68/ga68-error.c
! 840e7f6921cc8acd305d61b045bc8e22  libga68/ga68-posix.c
  12f59efc2c02c8e22bec45f9a718e690  libga68/ga68-standenv.c
! 71b554bddc61bf228cd613d7570daa8d  libga68/ga68-unistr.c
! 705acf37a7457246a7cabfc9256312f9  libga68/ga68.h
! ef155d31968dfc48b5571fa874488c26  libga68/ga68.map
  93e37daf5a03d1329323ba4894247de0  libga68/libga68.c
  5a99bd84e0794e311b25ab281d6c294a  libga68/libga68.spec.in
  6594537b1b235e3988700b7509cf7a42  libga68/libtool-version
  fc49680d0c6e77e437523ea496a6b8c4  libga68/m4/autoconf.m4
  b0d017b83148520411f1c1ebdbf28b58  libga68/sppp.awk
  de04458df73a22c6f12b67294ae6d428  libga68/transput.a68.in
! 45bd4eef48ada61448aaabec0528bf17  libgcc/ChangeLog
  9ce0b8c50fec68eb0555ae800e4e457e  libgcc/Makefile.in
  0dafba01dbe15f4c680f6fe25dd268f1  libgcc/config.host
  46412830a2ee8a02503ccc921912c3cf  libgcc/config.in
*************** fbd2a4796cc1004ad95b2d302d55497a  libgcc
*** 132075,132081 ****
  008beb46d9f23d4020ebdd5cbcb0fe3d  libgcc/soft-fp/unordtf2.c
  8c64184cccab0ab994c69899c63f3260  libgcc/static-object.mk
  e7cce090e5705c343bf7d927c1d303f7  libgcc/strub.c
! 2fa8f3d1f8d9b861b779b33b42ab8dd8  libgcc/sync.c
  b88849b566c015269216bc3f78606981  libgcc/udivhi3.c
  12bc92a65370eaba37b2ee99bdcb2fe2  libgcc/udivmod.c
  4f8bcda8492912058d9862d77c66b94c  libgcc/udivmodhi4.c
--- 132142,132148 ----
  008beb46d9f23d4020ebdd5cbcb0fe3d  libgcc/soft-fp/unordtf2.c
  8c64184cccab0ab994c69899c63f3260  libgcc/static-object.mk
  e7cce090e5705c343bf7d927c1d303f7  libgcc/strub.c
! b346feb762a3271012785bb60db1660b  libgcc/sync.c
  b88849b566c015269216bc3f78606981  libgcc/udivhi3.c
  12bc92a65370eaba37b2ee99bdcb2fe2  libgcc/udivmod.c
  4f8bcda8492912058d9862d77c66b94c  libgcc/udivmodhi4.c
*************** a3a7e9ca6057da9ca42e03e41e1c73f7  libgo/
*** 138742,138748 ****
  dcdf1b680b15b372bdb64cc5107d51b6  libgo/testsuite/libgo-test-support.exp.in
  bf162aa572f7b96b25dbd2b027845d32  libgo/testsuite/libgo.testmain/testmain.exp
  cc9d2a0e34e31ba866a8caf9f46f48f3  libgomp/.gitattributes
! 4472900f13f063c213963c4d459f135f  libgomp/ChangeLog
  0d55aa862aee66efdc5f8d62c94ff8fb  libgomp/ChangeLog.graphite
  714e3b9c0810a61df01246c2a97e825a  libgomp/Makefile.am
  ebb578201b0bfde5d8221fca34ee44c4  libgomp/Makefile.in
--- 138809,138815 ----
  dcdf1b680b15b372bdb64cc5107d51b6  libgo/testsuite/libgo-test-support.exp.in
  bf162aa572f7b96b25dbd2b027845d32  libgo/testsuite/libgo.testmain/testmain.exp
  cc9d2a0e34e31ba866a8caf9f46f48f3  libgomp/.gitattributes
! 04cb806581000b570f88c11c50f24665  libgomp/ChangeLog
  0d55aa862aee66efdc5f8d62c94ff8fb  libgomp/ChangeLog.graphite
  714e3b9c0810a61df01246c2a97e825a  libgomp/Makefile.am
  ebb578201b0bfde5d8221fca34ee44c4  libgomp/Makefile.in
*************** c6f86d1001c53a2af99a97c2afa9475f  libgom
*** 138783,138790 ****
  fedbd101d1e64cfcfca867a231cb58ec  libgomp/config/darwin/thread-stacksize.h
  1011707418d959e5fa254b216613f382  libgomp/config/gcn/affinity-fmt.c
  a149acaed82eaf065ecd5d28a16205ef  libgomp/config/gcn/allocator.c
! f68d8aac7e81f1b7859fe2dc0b631e6d  libgomp/config/gcn/bar.c
! cf29ba6bf4d9148a076ac070eac0ebb7  libgomp/config/gcn/bar.h
  29fc36d37c9ca7b0db1c04f766be1f6a  libgomp/config/gcn/doacross.h
  c447ed13e1d693f4b983b83ca2478aa8  libgomp/config/gcn/icv-device.c
  0f8633e5b152067d8fe084c15c3db164  libgomp/config/gcn/libgomp-gcn.h
--- 138850,138857 ----
  fedbd101d1e64cfcfca867a231cb58ec  libgomp/config/darwin/thread-stacksize.h
  1011707418d959e5fa254b216613f382  libgomp/config/gcn/affinity-fmt.c
  a149acaed82eaf065ecd5d28a16205ef  libgomp/config/gcn/allocator.c
! 46bcab07ea0e608e96b549c06ff435b2  libgomp/config/gcn/bar.c
! c5f2f89f7f9ed2cb6bb0f26a7bb9d0e3  libgomp/config/gcn/bar.h
  29fc36d37c9ca7b0db1c04f766be1f6a  libgomp/config/gcn/doacross.h
  c447ed13e1d693f4b983b83ca2478aa8  libgomp/config/gcn/icv-device.c
  0f8633e5b152067d8fe084c15c3db164  libgomp/config/gcn/libgomp-gcn.h
*************** de27fe416c22021c880c3ef4d002aa91  libgom
*** 138799,138806 ****
  7a0a6a6d5cb567d0de762d9dbe76d9be  libgomp/config/linux/affinity.c
  ed634980a8308c651a6d3ccc9f9dcbcb  libgomp/config/linux/allocator.c
  29d574ec8d851693d9b472f7519c22d9  libgomp/config/linux/alpha/futex.h
! 0bbe6d713bb75838dc3a7d9cb9c97bf5  libgomp/config/linux/bar.c
! 33853d3d36742efedb0deea0a00e0674  libgomp/config/linux/bar.h
  164b4f5876809c956e7c82b155da138b  libgomp/config/linux/doacross.h
  1c6c18045021513ac393389c1823cf11  libgomp/config/linux/futex.h
  00d7403272d54f16bd4af691feec2174  libgomp/config/linux/ia64/futex.h
--- 138866,138873 ----
  7a0a6a6d5cb567d0de762d9dbe76d9be  libgomp/config/linux/affinity.c
  ed634980a8308c651a6d3ccc9f9dcbcb  libgomp/config/linux/allocator.c
  29d574ec8d851693d9b472f7519c22d9  libgomp/config/linux/alpha/futex.h
! 2a9f66d6adadccefb7a7d88d5445f143  libgomp/config/linux/bar.c
! 8cd25856009cd00dedcd63b7e6e6d8b1  libgomp/config/linux/bar.h
  164b4f5876809c956e7c82b155da138b  libgomp/config/linux/doacross.h
  1c6c18045021513ac393389c1823cf11  libgomp/config/linux/futex.h
  00d7403272d54f16bd4af691feec2174  libgomp/config/linux/ia64/futex.h
*************** fa13c699b8d4b45d835b66dfc07ef197  libgom
*** 138829,138835 ****
  52fcf2d702ad06c1a3a7c0921a2567ab  libgomp/config/nvptx/allocator.c
  6bb7711f9ae2bc93662a9c5ece06f7ee  libgomp/config/nvptx/atomic.c
  2bf6bde834465d5e7a512e10f4813a68  libgomp/config/nvptx/bar.c
! 51f0036fd89656510674d14bce4e16b6  libgomp/config/nvptx/bar.h
  df59717b3bd8944894ab4397e77454f7  libgomp/config/nvptx/doacross.h
  dca18fe95a4086d6ff5853b4220d62db  libgomp/config/nvptx/error.c
  35b926973906eb1cf3beb0fa77d3c3d4  libgomp/config/nvptx/icv-device.c
--- 138896,138902 ----
  52fcf2d702ad06c1a3a7c0921a2567ab  libgomp/config/nvptx/allocator.c
  6bb7711f9ae2bc93662a9c5ece06f7ee  libgomp/config/nvptx/atomic.c
  2bf6bde834465d5e7a512e10f4813a68  libgomp/config/nvptx/bar.c
! 933c1d66ec951ab42fb94b176e11eb1f  libgomp/config/nvptx/bar.h
  df59717b3bd8944894ab4397e77454f7  libgomp/config/nvptx/doacross.h
  dca18fe95a4086d6ff5853b4220d62db  libgomp/config/nvptx/error.c
  35b926973906eb1cf3beb0fa77d3c3d4  libgomp/config/nvptx/icv-device.c
*************** d4ef411ea34a5e21bbc28b10c1f3b9cf  libgom
*** 138841,138848 ****
  9642f91b86f61638bcd7b93f1efa4c1c  libgomp/config/nvptx/team.c
  25e9242a0e4530902ae2914c443cea04  libgomp/config/nvptx/teams.c
  1e82aa2630626e511ff0d1341a76d2fb  libgomp/config/nvptx/time.c
! 73b3b260c3e2b9dbf74f1df8ab9a63a5  libgomp/config/posix/bar.c
! 80e286a2fc8875724d26f15348eb970c  libgomp/config/posix/bar.h
  d809d6c0726f24c2e0a74a4bd759b20b  libgomp/config/posix/doacross.h
  a898a5a4502e247c234d8938d7b3cfbe  libgomp/config/posix/lock.c
  efc434763cbe71b67359f1858f6c9480  libgomp/config/posix/mutex.c
--- 138908,138915 ----
  9642f91b86f61638bcd7b93f1efa4c1c  libgomp/config/nvptx/team.c
  25e9242a0e4530902ae2914c443cea04  libgomp/config/nvptx/teams.c
  1e82aa2630626e511ff0d1341a76d2fb  libgomp/config/nvptx/time.c
! f71a2c1760df3cace4ad96cbc50e724c  libgomp/config/posix/bar.c
! b72c763edbd3bad13d1a4137ea03cf10  libgomp/config/posix/bar.h
  d809d6c0726f24c2e0a74a4bd759b20b  libgomp/config/posix/doacross.h
  a898a5a4502e247c234d8938d7b3cfbe  libgomp/config/posix/lock.c
  efc434763cbe71b67359f1858f6c9480  libgomp/config/posix/mutex.c
*************** b2c777dfb741f586524a19a8cde8e901  libgom
*** 138860,138866 ****
  df1e895f991a6ee62e836790dba5a8cc  libgomp/config/posix/time.c
  2cdc827e93d10760ca0a6d298d333efd  libgomp/config/rtems/affinity-fmt.c
  8901ec76858ac0eb5d36b3d97ae89125  libgomp/config/rtems/bar.c
! 88ca39b8a21f98664e400f6ea71321a6  libgomp/config/rtems/bar.h
  efc434763cbe71b67359f1858f6c9480  libgomp/config/rtems/mutex.c
  7c56f8c45d6468deab84b67678ae973c  libgomp/config/rtems/mutex.h
  a3e8261512779732e6d5dbc5f19c7deb  libgomp/config/rtems/pool.h
--- 138927,138933 ----
  df1e895f991a6ee62e836790dba5a8cc  libgomp/config/posix/time.c
  2cdc827e93d10760ca0a6d298d333efd  libgomp/config/rtems/affinity-fmt.c
  8901ec76858ac0eb5d36b3d97ae89125  libgomp/config/rtems/bar.c
! 91b2036526a44290413c1f9a52fb2219  libgomp/config/rtems/bar.h
  efc434763cbe71b67359f1858f6c9480  libgomp/config/rtems/mutex.c
  7c56f8c45d6468deab84b67678ae973c  libgomp/config/rtems/mutex.h
  a3e8261512779732e6d5dbc5f19c7deb  libgomp/config/rtems/pool.h
*************** bbb8b404de421c08a4468a7c149897e3  libgom
*** 138929,138935 ****
  1775f6ebbed5a9aef1882e66136d9e2b  libgomp/target-cxa-dso-dtor.c
  30bc692f400225cbdf51ebfdb41b44c5  libgomp/target-indirect.c
  5a12f2fa543dce0007208555f5fd4c46  libgomp/target.c
! af89e6488cab8495a405539538e11b58  libgomp/task.c
  7f9c7ebe470f1e58806b1136258bd786  libgomp/taskloop.c
  abb5e2202aa84d67c967b7dc176fc937  libgomp/team.c
  75558421f6643377456e1afccbec5b19  libgomp/teams.c
--- 138996,139002 ----
  1775f6ebbed5a9aef1882e66136d9e2b  libgomp/target-cxa-dso-dtor.c
  30bc692f400225cbdf51ebfdb41b44c5  libgomp/target-indirect.c
  5a12f2fa543dce0007208555f5fd4c46  libgomp/target.c
! 61cd7db4cfc942c460e94493b86d69e2  libgomp/task.c
  7f9c7ebe470f1e58806b1136258bd786  libgomp/taskloop.c
  abb5e2202aa84d67c967b7dc176fc937  libgomp/team.c
  75558421f6643377456e1afccbec5b19  libgomp/teams.c
*************** b39893ba213997fb0f30060685879d54  libgom
*** 140063,140068 ****
--- 140130,140137 ----
  aa4bf5c713a6787268e4b1415f31402c  libgomp/testsuite/libgomp.c/pr104952-2.c
  37f576b8026bd1367998c4594550703d  libgomp/testsuite/libgomp.c/pr108459.c
  502f086f1c0aa4e9757c3ad58c79e9da  libgomp/testsuite/libgomp.c/pr122281.c
+ a0f0cc41b8c4570d907a6166c0b4427c  libgomp/testsuite/libgomp.c/pr122314.c
+ 8a4b13ce34f42c0e998897b9b6b0e9d2  libgomp/testsuite/libgomp.c/pr122356.c
  fcc4da1244b552bb375f6a3e5c1f5356  libgomp/testsuite/libgomp.c/pr122852.c
  c522146f1617da47efbc34dedb563f61  libgomp/testsuite/libgomp.c/pr24455-1.c
  fc16ef4cc2849f9673cfa72118b38b03  libgomp/testsuite/libgomp.c/pr24455.c
*************** a73d560a3ba317c5ad0a7919d87b4b6d  libssp
*** 144337,144343 ****
  7d75fa0d30318408fe4cd91d9cbe3ac7  libssp/vsnprintf-chk.c
  e9ff0f4bdd1be75a507480ed1267459d  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! 87b5a5bdb4b8801b8700212ff8d283d7  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 144406,144412 ----
  7d75fa0d30318408fe4cd91d9cbe3ac7  libssp/vsnprintf-chk.c
  e9ff0f4bdd1be75a507480ed1267459d  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! 365d0d6544424653c6303fc319d5b63d  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** cf91e318c4c1bc11ac5f4ecb0b01294e  libstd
*** 144380,144386 ****
  13f901be7333a2072916659b04e88e8d  libstdc++-v3/config/abi/post/i386-solaris/amd64/baseline_symbols.txt
  d45eb5f70812c01e9571ca948c4da8cd  libstdc++-v3/config/abi/post/i386-solaris/baseline_symbols.txt
  0feacae434c67857f81d494f83cf3851  libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt
! 01500b319bb297b4059106c465b92567  libstdc++-v3/config/abi/post/ia64-linux-gnu/baseline_symbols.txt
  97784a5e669593e12f36ff38c1ed28cd  libstdc++-v3/config/abi/post/m68k-linux-gnu/baseline_symbols.txt
  61308215d393f11169ace76935f2b034  libstdc++-v3/config/abi/post/mips-linux-gnu/baseline_symbols.txt
  725325d7b24195d1e6374ce4e24afdb0  libstdc++-v3/config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt
--- 144449,144455 ----
  13f901be7333a2072916659b04e88e8d  libstdc++-v3/config/abi/post/i386-solaris/amd64/baseline_symbols.txt
  d45eb5f70812c01e9571ca948c4da8cd  libstdc++-v3/config/abi/post/i386-solaris/baseline_symbols.txt
  0feacae434c67857f81d494f83cf3851  libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt
! 5dca274dfeba1c1c125014f358dc6b89  libstdc++-v3/config/abi/post/ia64-linux-gnu/baseline_symbols.txt
  97784a5e669593e12f36ff38c1ed28cd  libstdc++-v3/config/abi/post/m68k-linux-gnu/baseline_symbols.txt
  61308215d393f11169ace76935f2b034  libstdc++-v3/config/abi/post/mips-linux-gnu/baseline_symbols.txt
  725325d7b24195d1e6374ce4e24afdb0  libstdc++-v3/config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt
*************** c5c13c24b9e27f502943f588ca538499  libstd
*** 145040,145046 ****
  1c5bc7f82fd83ba042296f81734c820b  libstdc++-v3/include/bits/deque.tcc
  b3b7f49179a45d11260480d53dd3cf0e  libstdc++-v3/include/bits/elements_of.h
  021c9e8af006934e2df53e05441f3d8c  libstdc++-v3/include/bits/enable_special_members.h
! 70c4feeb9db9f61004b319712f43f5c4  libstdc++-v3/include/bits/erase_if.h
  b188cffee149fcdafb414716002bc90b  libstdc++-v3/include/bits/formatfwd.h
  40810f5be9516a75478483f1980e746b  libstdc++-v3/include/bits/forward_list.h
  f053b22f5819f7ed1f6ed5ffe14dc5a3  libstdc++-v3/include/bits/forward_list.tcc
--- 145109,145115 ----
  1c5bc7f82fd83ba042296f81734c820b  libstdc++-v3/include/bits/deque.tcc
  b3b7f49179a45d11260480d53dd3cf0e  libstdc++-v3/include/bits/elements_of.h
  021c9e8af006934e2df53e05441f3d8c  libstdc++-v3/include/bits/enable_special_members.h
! 0761a634c5ad798abd93ae68d0f8f1e2  libstdc++-v3/include/bits/erase_if.h
  b188cffee149fcdafb414716002bc90b  libstdc++-v3/include/bits/formatfwd.h
  40810f5be9516a75478483f1980e746b  libstdc++-v3/include/bits/forward_list.h
  f053b22f5819f7ed1f6ed5ffe14dc5a3  libstdc++-v3/include/bits/forward_list.tcc
*************** c2f893fbd3fb2e778cc648a1e309d2f5  libstd
*** 145052,145058 ****
  66abab33b154fe334e91c3ed03ed17ce  libstdc++-v3/include/bits/funcref_impl.h
  e77032281bd301430e499d5bb46db4a1  libstdc++-v3/include/bits/functexcept.h
  31bdc727f2eaf8eda1ab45fb88577c00  libstdc++-v3/include/bits/functional_hash.h
! 3283c5ed367802f57dec4ff2994a8f85  libstdc++-v3/include/bits/funcwrap.h
  a437a10ba7525a3935bec765a5604a4f  libstdc++-v3/include/bits/gslice.h
  39aca2727a08f07f0043ee164eaa09a4  libstdc++-v3/include/bits/gslice_array.h
  d209b8063483aa0b8623963ca5d039a2  libstdc++-v3/include/bits/hashtable.h
--- 145121,145127 ----
  66abab33b154fe334e91c3ed03ed17ce  libstdc++-v3/include/bits/funcref_impl.h
  e77032281bd301430e499d5bb46db4a1  libstdc++-v3/include/bits/functexcept.h
  31bdc727f2eaf8eda1ab45fb88577c00  libstdc++-v3/include/bits/functional_hash.h
! af850f4d123435b088d5b30aa97508d5  libstdc++-v3/include/bits/funcwrap.h
  a437a10ba7525a3935bec765a5604a4f  libstdc++-v3/include/bits/gslice.h
  39aca2727a08f07f0043ee164eaa09a4  libstdc++-v3/include/bits/gslice_array.h
  d209b8063483aa0b8623963ca5d039a2  libstdc++-v3/include/bits/hashtable.h
*************** b745abd5614b31045999aba98b3d30c4  libstd
*** 145099,145105 ****
  3d90dd0f83ddfc9b34bf35f033370e7d  libstdc++-v3/include/bits/ranges_algo.h
  2376637350495a1dbd9c27901ed68027  libstdc++-v3/include/bits/ranges_algobase.h
  da131298f4587856e6f487548bdaee1d  libstdc++-v3/include/bits/ranges_base.h
! 721c71a8e1ef72359085fcf3bb27d482  libstdc++-v3/include/bits/ranges_cmp.h
  571addb6a7ba251f10f9342f9b041ae5  libstdc++-v3/include/bits/ranges_uninitialized.h
  1e16e9219782b5cd7f75c9d3e4611b1b  libstdc++-v3/include/bits/ranges_util.h
  eba2c9ee0f0d650f6223eb4f40e83b02  libstdc++-v3/include/bits/refwrap.h
--- 145168,145174 ----
  3d90dd0f83ddfc9b34bf35f033370e7d  libstdc++-v3/include/bits/ranges_algo.h
  2376637350495a1dbd9c27901ed68027  libstdc++-v3/include/bits/ranges_algobase.h
  da131298f4587856e6f487548bdaee1d  libstdc++-v3/include/bits/ranges_base.h
! c04d8e83343df391a348af7cf384e792  libstdc++-v3/include/bits/ranges_cmp.h
  571addb6a7ba251f10f9342f9b041ae5  libstdc++-v3/include/bits/ranges_uninitialized.h
  1e16e9219782b5cd7f75c9d3e4611b1b  libstdc++-v3/include/bits/ranges_util.h
  eba2c9ee0f0d650f6223eb4f40e83b02  libstdc++-v3/include/bits/refwrap.h
*************** f5291a41594cbc2cfdc8240cb611d8b1  libstd
*** 145137,145143 ****
  4e5a06e505381e0b1af562ff59670f89  libstdc++-v3/include/bits/stl_bvector.h
  c53878727e94c56c0b362d17dfe0fca2  libstdc++-v3/include/bits/stl_construct.h
  c56a5e22a7aa2899e57a689ddfa64b43  libstdc++-v3/include/bits/stl_deque.h
! 04e6a1526f87da35dce0a6f865622fad  libstdc++-v3/include/bits/stl_function.h
  4af65d6cfcd3e9943b1da341c9fa26ad  libstdc++-v3/include/bits/stl_heap.h
  bd2e27c602ee02023df28ac89c0ad816  libstdc++-v3/include/bits/stl_iterator.h
  08f3002267b4b29c0a28c75c6da5cf82  libstdc++-v3/include/bits/stl_iterator_base_funcs.h
--- 145206,145212 ----
  4e5a06e505381e0b1af562ff59670f89  libstdc++-v3/include/bits/stl_bvector.h
  c53878727e94c56c0b362d17dfe0fca2  libstdc++-v3/include/bits/stl_construct.h
  c56a5e22a7aa2899e57a689ddfa64b43  libstdc++-v3/include/bits/stl_deque.h
! 9af6cb03c92b477c32566b478b597033  libstdc++-v3/include/bits/stl_function.h
  4af65d6cfcd3e9943b1da341c9fa26ad  libstdc++-v3/include/bits/stl_heap.h
  bd2e27c602ee02023df28ac89c0ad816  libstdc++-v3/include/bits/stl_iterator.h
  08f3002267b4b29c0a28c75c6da5cf82  libstdc++-v3/include/bits/stl_iterator_base_funcs.h
*************** d1cf5a35c4ad3820cb023d8f84762cc7  libstd
*** 145179,145186 ****
  ddd4bdc2fa29f8f2aa3386cead9ebcb2  libstdc++-v3/include/bits/valarray_array.tcc
  16c6db3f5b1e7b3e37c3febbf4dc4e8c  libstdc++-v3/include/bits/valarray_before.h
  5a7dd3eca21d4650e654ea51da466c59  libstdc++-v3/include/bits/vector.tcc
! 31c6f0e0ed70ad876efb6089704d30ef  libstdc++-v3/include/bits/version.def
! 3a364f21bb7aa48953d976c132cb172d  libstdc++-v3/include/bits/version.h
  f92789aa59d1ed5207e13c936667059d  libstdc++-v3/include/bits/version.tpl
  d99b1b69e5f87e5a631c8a881d053766  libstdc++-v3/include/c/cassert
  7f5b12607c4d7cbbcf705b672613447b  libstdc++-v3/include/c/cctype
--- 145248,145255 ----
  ddd4bdc2fa29f8f2aa3386cead9ebcb2  libstdc++-v3/include/bits/valarray_array.tcc
  16c6db3f5b1e7b3e37c3febbf4dc4e8c  libstdc++-v3/include/bits/valarray_before.h
  5a7dd3eca21d4650e654ea51da466c59  libstdc++-v3/include/bits/vector.tcc
! d89531786a0bf6e9703d85bf20430596  libstdc++-v3/include/bits/version.def
! 7c50b02cca48a05bf1465c0c25b1334d  libstdc++-v3/include/bits/version.h
  f92789aa59d1ed5207e13c936667059d  libstdc++-v3/include/bits/version.tpl
  d99b1b69e5f87e5a631c8a881d053766  libstdc++-v3/include/c/cassert
  7f5b12607c4d7cbbcf705b672613447b  libstdc++-v3/include/c/cctype
*************** ddcad2ef48c62d7053209fd20d56de52  libstd
*** 145278,145292 ****
  5b540e2bfb811c882e519b52ea6b37f0  libstdc++-v3/include/debug/assertions.h
  43bc24df168bf241336cb295616ecab5  libstdc++-v3/include/debug/bitset
  5a5120ba442619a34f6f6aba86d39daf  libstdc++-v3/include/debug/debug.h
! ced702dd1c7d2945c6e34cd7bb3e06c9  libstdc++-v3/include/debug/deque
  baa7e2585de42c6e51eb820e90b56c63  libstdc++-v3/include/debug/formatter.h
! b253e14d861ea760b23897eddc26b5b3  libstdc++-v3/include/debug/forward_list
  c72074a7f63bf80ae04cadd106a7041b  libstdc++-v3/include/debug/functions.h
  bd71d671c65cc1f20da69aeb099763cb  libstdc++-v3/include/debug/helper_functions.h
! 95593578171eceb0a645a3345a408d09  libstdc++-v3/include/debug/inplace_vector
! face0f379083c1539b265f555113c7dd  libstdc++-v3/include/debug/list
  19ec1c383d4909ba5ee9ecb5b6cf6024  libstdc++-v3/include/debug/macros.h
! 2d2342ce59f4a837a8e716f0e6fc3119  libstdc++-v3/include/debug/map
  6fdf29a27cb69c7c5c477737e4eff3ed  libstdc++-v3/include/debug/map.h
  8d78b63ff1fcb81dfb0fc611d83d1ab2  libstdc++-v3/include/debug/multimap.h
  b3110e8fa6a0c17a39d224ca5705272d  libstdc++-v3/include/debug/multiset.h
--- 145347,145361 ----
  5b540e2bfb811c882e519b52ea6b37f0  libstdc++-v3/include/debug/assertions.h
  43bc24df168bf241336cb295616ecab5  libstdc++-v3/include/debug/bitset
  5a5120ba442619a34f6f6aba86d39daf  libstdc++-v3/include/debug/debug.h
! 7fdb7557490d0ace3e8a0ba82440b63b  libstdc++-v3/include/debug/deque
  baa7e2585de42c6e51eb820e90b56c63  libstdc++-v3/include/debug/formatter.h
! 4199ddb13d757d5a7c46dbd4527c6eda  libstdc++-v3/include/debug/forward_list
  c72074a7f63bf80ae04cadd106a7041b  libstdc++-v3/include/debug/functions.h
  bd71d671c65cc1f20da69aeb099763cb  libstdc++-v3/include/debug/helper_functions.h
! bc86cb62e462f512b0117c4dfef12789  libstdc++-v3/include/debug/inplace_vector
! f967a7391ba2b17cdc66d9e175a90e06  libstdc++-v3/include/debug/list
  19ec1c383d4909ba5ee9ecb5b6cf6024  libstdc++-v3/include/debug/macros.h
! 74765900798729999c3b75d77ac6b179  libstdc++-v3/include/debug/map
  6fdf29a27cb69c7c5c477737e4eff3ed  libstdc++-v3/include/debug/map.h
  8d78b63ff1fcb81dfb0fc611d83d1ab2  libstdc++-v3/include/debug/multimap.h
  b3110e8fa6a0c17a39d224ca5705272d  libstdc++-v3/include/debug/multiset.h
*************** c623155558d82a21f1f31630a36eca85  libstd
*** 145301,145313 ****
  d50a83aff93b89a5438f2854774f452b  libstdc++-v3/include/debug/safe_unordered_base.h
  7373eb2a105eb19da61db7304043f7b9  libstdc++-v3/include/debug/safe_unordered_container.h
  937bc696e0a11a83462e796404e73054  libstdc++-v3/include/debug/safe_unordered_container.tcc
! 883625852f12eff539fd8828a747d2c0  libstdc++-v3/include/debug/set
  ab50c5eedb4ee8c946a065f6f147ad45  libstdc++-v3/include/debug/set.h
  96d411ed834e01fdb383e36bfc0cec51  libstdc++-v3/include/debug/stl_iterator.h
! 8fcf6145bc2f1028cbb34f5cb44abf65  libstdc++-v3/include/debug/string
! a4b0225fb5231523bc72edaa40df582f  libstdc++-v3/include/debug/unordered_map
! 2c0131b2a008c335a16731978506d733  libstdc++-v3/include/debug/unordered_set
! 120f8edb047aa62153d5b6d339c249a6  libstdc++-v3/include/debug/vector
  bd768b905048126ba3c8ccfc9f5d7c30  libstdc++-v3/include/decimal/decimal
  cb86182d3c0277ef7f96801aaf93d5b0  libstdc++-v3/include/decimal/decimal.h
  4d35e36ff37f40f2332e6343d7f91d1c  libstdc++-v3/include/experimental/algorithm
--- 145370,145382 ----
  d50a83aff93b89a5438f2854774f452b  libstdc++-v3/include/debug/safe_unordered_base.h
  7373eb2a105eb19da61db7304043f7b9  libstdc++-v3/include/debug/safe_unordered_container.h
  937bc696e0a11a83462e796404e73054  libstdc++-v3/include/debug/safe_unordered_container.tcc
! 995ba6e76562637a31c8fa671052d734  libstdc++-v3/include/debug/set
  ab50c5eedb4ee8c946a065f6f147ad45  libstdc++-v3/include/debug/set.h
  96d411ed834e01fdb383e36bfc0cec51  libstdc++-v3/include/debug/stl_iterator.h
! 0cd39d2918072d9eaee76a5aeaa86d29  libstdc++-v3/include/debug/string
! 1c6b55506bfc9e620f2035a53dca8d77  libstdc++-v3/include/debug/unordered_map
! b4a75e0d41dfeacee8aacaed08238908  libstdc++-v3/include/debug/unordered_set
! 6623cb54a3a91bb96aee3df30de2b717  libstdc++-v3/include/debug/vector
  bd768b905048126ba3c8ccfc9f5d7c30  libstdc++-v3/include/decimal/decimal
  cb86182d3c0277ef7f96801aaf93d5b0  libstdc++-v3/include/decimal/decimal.h
  4d35e36ff37f40f2332e6343d7f91d1c  libstdc++-v3/include/experimental/algorithm
*************** c3ffcd8b87d4589e457faa7a3a7601d6  libstd
*** 145738,145760 ****
  f626b898ff7fcaf45e839e0aaaf8b995  libstdc++-v3/include/std/chrono
  6250fdc57cc9fcf4c5cc699808a8871f  libstdc++-v3/include/std/codecvt
  841a79fbef033cbe8ca8c554dc66d5b9  libstdc++-v3/include/std/complex
! 3788764e7240d536ab0a19d3aa219da1  libstdc++-v3/include/std/concepts
  6a29620511421350fff096067c3ca0da  libstdc++-v3/include/std/condition_variable
  30926456f62b01c212f18e128fa8f543  libstdc++-v3/include/std/coroutine
  f945d16289e71c13744e7d9177de9ccc  libstdc++-v3/include/std/debugging
! 9d3f1c91287c9742ac2105f7adb4bd21  libstdc++-v3/include/std/deque
  649d9183a0fa35d50371bb1bce3f70c2  libstdc++-v3/include/std/execution
  052926694ae14ab58056f592f18ff448  libstdc++-v3/include/std/expected
  a7bd3ed542c1ec721a89a69bc151a3d6  libstdc++-v3/include/std/filesystem
  f004e380db68bad2f1a8548323345a5c  libstdc++-v3/include/std/flat_map
  b384f6e8eb77f0d5747534b3ed9a89cb  libstdc++-v3/include/std/flat_set
  eda2429c066ad12d7ee12dc07ae43773  libstdc++-v3/include/std/format
! 44ea69926aa3fbd9b1a93b115a94a7c7  libstdc++-v3/include/std/forward_list
  c85826e5073be733076e4825a96a991c  libstdc++-v3/include/std/fstream
  1a481560a4cf3d2ef6733f38a1afb84f  libstdc++-v3/include/std/functional
  94a42cdbbdcf611d6ed85997de7e69ec  libstdc++-v3/include/std/future
  c23941f33f780fa4e76b3932a48f2171  libstdc++-v3/include/std/generator
! cf5ec96cccebc705a55d617b1c9ffe2a  libstdc++-v3/include/std/inplace_vector
  9faf9f4caa2dcbfe374113d6cf2380ad  libstdc++-v3/include/std/iomanip
  48bf9080e650b3c09a288f25a49455d5  libstdc++-v3/include/std/ios
  df4362bdba64b8e857e22cfffc178349  libstdc++-v3/include/std/iosfwd
--- 145807,145829 ----
  f626b898ff7fcaf45e839e0aaaf8b995  libstdc++-v3/include/std/chrono
  6250fdc57cc9fcf4c5cc699808a8871f  libstdc++-v3/include/std/codecvt
  841a79fbef033cbe8ca8c554dc66d5b9  libstdc++-v3/include/std/complex
! d2be6ad28181eee2feab5cac0a1cf141  libstdc++-v3/include/std/concepts
  6a29620511421350fff096067c3ca0da  libstdc++-v3/include/std/condition_variable
  30926456f62b01c212f18e128fa8f543  libstdc++-v3/include/std/coroutine
  f945d16289e71c13744e7d9177de9ccc  libstdc++-v3/include/std/debugging
! 7d736af3f0c3ef350561362e2e73c5a6  libstdc++-v3/include/std/deque
  649d9183a0fa35d50371bb1bce3f70c2  libstdc++-v3/include/std/execution
  052926694ae14ab58056f592f18ff448  libstdc++-v3/include/std/expected
  a7bd3ed542c1ec721a89a69bc151a3d6  libstdc++-v3/include/std/filesystem
  f004e380db68bad2f1a8548323345a5c  libstdc++-v3/include/std/flat_map
  b384f6e8eb77f0d5747534b3ed9a89cb  libstdc++-v3/include/std/flat_set
  eda2429c066ad12d7ee12dc07ae43773  libstdc++-v3/include/std/format
! 7e1c7765d1205d0a0571065e7e1f111d  libstdc++-v3/include/std/forward_list
  c85826e5073be733076e4825a96a991c  libstdc++-v3/include/std/fstream
  1a481560a4cf3d2ef6733f38a1afb84f  libstdc++-v3/include/std/functional
  94a42cdbbdcf611d6ed85997de7e69ec  libstdc++-v3/include/std/future
  c23941f33f780fa4e76b3932a48f2171  libstdc++-v3/include/std/generator
! 78ceb68123da9377448ec7f88b3c2954  libstdc++-v3/include/std/inplace_vector
  9faf9f4caa2dcbfe374113d6cf2380ad  libstdc++-v3/include/std/iomanip
  48bf9080e650b3c09a288f25a49455d5  libstdc++-v3/include/std/ios
  df4362bdba64b8e857e22cfffc178349  libstdc++-v3/include/std/iosfwd
*************** f16c882692ac65bc0c0b5dd8549e9ee0  libstd
*** 145763,145771 ****
  b33d9f7d5e6dae4596b350ebc5fd6b8f  libstdc++-v3/include/std/iterator
  44697b5c0f957dae546124db0f196f5f  libstdc++-v3/include/std/latch
  be169e901166777d5be3e557682b7af2  libstdc++-v3/include/std/limits
! d29a040bd8437c47a526b7a4f6ba76ba  libstdc++-v3/include/std/list
  979d756bd9149a01a697b92c921e75a0  libstdc++-v3/include/std/locale
! e13aa398b297358df449791a35753c9b  libstdc++-v3/include/std/map
  0ad5b6c8098cd5eba2a4160a431f554d  libstdc++-v3/include/std/mdspan
  78c1d1dab9dcd12a4cb99d5911d27568  libstdc++-v3/include/std/memory
  ea0d67f29f1a73f1ccdade0115646a1c  libstdc++-v3/include/std/memory_resource
--- 145832,145840 ----
  b33d9f7d5e6dae4596b350ebc5fd6b8f  libstdc++-v3/include/std/iterator
  44697b5c0f957dae546124db0f196f5f  libstdc++-v3/include/std/latch
  be169e901166777d5be3e557682b7af2  libstdc++-v3/include/std/limits
! 2f3eb4865a149d33afc45095dfd51d15  libstdc++-v3/include/std/list
  979d756bd9149a01a697b92c921e75a0  libstdc++-v3/include/std/locale
! 9ab9c09bfe69b8870dbce7624525a83b  libstdc++-v3/include/std/map
  0ad5b6c8098cd5eba2a4160a431f554d  libstdc++-v3/include/std/mdspan
  78c1d1dab9dcd12a4cb99d5911d27568  libstdc++-v3/include/std/memory
  ea0d67f29f1a73f1ccdade0115646a1c  libstdc++-v3/include/std/memory_resource
*************** ee576f89ae347224177df91fe86d905d  libstd
*** 145783,145789 ****
  a5c4f3df840ba7c3fbc9b7b9d5567ef2  libstdc++-v3/include/std/regex
  8e6ef0834acfc88dd03f5eae2990e41a  libstdc++-v3/include/std/scoped_allocator
  a53d359dd7618cc0d3f2447f5f60fff3  libstdc++-v3/include/std/semaphore
! 31cb2a2637c2e4cae9387994f7e1195f  libstdc++-v3/include/std/set
  d9b30ac9f13a2d342a56ff319aca749e  libstdc++-v3/include/std/shared_mutex
  b3ff5d9751c631a9afbb044b52dfb623  libstdc++-v3/include/std/source_location
  b5619289ac9c606b19a5eaf5008fe7df  libstdc++-v3/include/std/span
--- 145852,145858 ----
  a5c4f3df840ba7c3fbc9b7b9d5567ef2  libstdc++-v3/include/std/regex
  8e6ef0834acfc88dd03f5eae2990e41a  libstdc++-v3/include/std/scoped_allocator
  a53d359dd7618cc0d3f2447f5f60fff3  libstdc++-v3/include/std/semaphore
! 8c7c0f73062baca94fefcd7643a3f699  libstdc++-v3/include/std/set
  d9b30ac9f13a2d342a56ff319aca749e  libstdc++-v3/include/std/shared_mutex
  b3ff5d9751c631a9afbb044b52dfb623  libstdc++-v3/include/std/source_location
  b5619289ac9c606b19a5eaf5008fe7df  libstdc++-v3/include/std/span
*************** f5a5ebc7b6133572f8f361cde93ec52f  libstd
*** 145795,145801 ****
  1172bfca0fe1fdb144e0d95b173239d1  libstdc++-v3/include/std/stdfloat
  8000144a02174c1b4e859b4cc4af6301  libstdc++-v3/include/std/stop_token
  3773b676d041cd3a500431ae737f5859  libstdc++-v3/include/std/streambuf
! 3b64ede0f70dc274f1c7732d9857d491  libstdc++-v3/include/std/string
  9d6f67398a2616b7786c9adeaf643e2c  libstdc++-v3/include/std/string_view
  2357e8bc64ed236c453da02aa0eab3ea  libstdc++-v3/include/std/syncstream
  0574b134b5132494e9294186a6a4511c  libstdc++-v3/include/std/system_error
--- 145864,145870 ----
  1172bfca0fe1fdb144e0d95b173239d1  libstdc++-v3/include/std/stdfloat
  8000144a02174c1b4e859b4cc4af6301  libstdc++-v3/include/std/stop_token
  3773b676d041cd3a500431ae737f5859  libstdc++-v3/include/std/streambuf
! 76bd18b5fc744472aa3988d57a5928c5  libstdc++-v3/include/std/string
  9d6f67398a2616b7786c9adeaf643e2c  libstdc++-v3/include/std/string_view
  2357e8bc64ed236c453da02aa0eab3ea  libstdc++-v3/include/std/syncstream
  0574b134b5132494e9294186a6a4511c  libstdc++-v3/include/std/system_error
*************** f5a5ebc7b6133572f8f361cde93ec52f  libstd
*** 145804,145815 ****
  18066f87725dc5e14297a90730d89f30  libstdc++-v3/include/std/tuple
  e465f9065fdc0cd37abb571a528cdc3d  libstdc++-v3/include/std/type_traits
  66a7939bfcb3a6f5966552f3fb49a384  libstdc++-v3/include/std/typeindex
! 8689664c4fb3fe9445086a22c3f4a18b  libstdc++-v3/include/std/unordered_map
! 7a4ca06500f14aacb6b6609c40f4eb86  libstdc++-v3/include/std/unordered_set
  7f92a82eac9afc94cc840349f66fb7c8  libstdc++-v3/include/std/utility
  bd07fa105994eb5d05ee66c7c9f10b7d  libstdc++-v3/include/std/valarray
  f4935a7b92bee0179976443347292535  libstdc++-v3/include/std/variant
! f8b2125d5b3916b34c71e2d30f26ea03  libstdc++-v3/include/std/vector
  58f2936270e8ec7d95200e2305ee13bc  libstdc++-v3/include/std/version
  7874ef3c97c791ad66b9def816d95363  libstdc++-v3/include/tr1/array
  9cef28d9f1825ac84137374a9584f648  libstdc++-v3/include/tr1/bessel_function.tcc
--- 145873,145884 ----
  18066f87725dc5e14297a90730d89f30  libstdc++-v3/include/std/tuple
  e465f9065fdc0cd37abb571a528cdc3d  libstdc++-v3/include/std/type_traits
  66a7939bfcb3a6f5966552f3fb49a384  libstdc++-v3/include/std/typeindex
! aa868d9d23e147f967b0a5b8b7c9ac8a  libstdc++-v3/include/std/unordered_map
! 1b1014723055b617dd77c223092a09c8  libstdc++-v3/include/std/unordered_set
  7f92a82eac9afc94cc840349f66fb7c8  libstdc++-v3/include/std/utility
  bd07fa105994eb5d05ee66c7c9f10b7d  libstdc++-v3/include/std/valarray
  f4935a7b92bee0179976443347292535  libstdc++-v3/include/std/variant
! df7e0b14ef429fc02b9968616de62de0  libstdc++-v3/include/std/vector
  58f2936270e8ec7d95200e2305ee13bc  libstdc++-v3/include/std/version
  7874ef3c97c791ad66b9def816d95363  libstdc++-v3/include/tr1/array
  9cef28d9f1825ac84137374a9584f648  libstdc++-v3/include/tr1/bessel_function.tcc
*************** aacdb8e651b3fc7f3c8586a2eb513a49  libstd
*** 145891,145897 ****
  f0e2e9453cd4ca21909ab9424da5b303  libstdc++-v3/libsupc++/bad_cast.cc
  53c4c4a690a6930ff1d727711de2d2cb  libstdc++-v3/libsupc++/bad_typeid.cc
  47e7721cc47b6692830b6d19cb800032  libstdc++-v3/libsupc++/class_type_info.cc
! 178d168b88529abb59eba8249e90fbce  libstdc++-v3/libsupc++/compare
  4a388d03ae2617f1ae10574dc69b7398  libstdc++-v3/libsupc++/cxxabi.h
  88ea372654b2288b408dae2118459fa6  libstdc++-v3/libsupc++/cxxabi_forced.h
  774fdaf99511789e9eabe379ab45028c  libstdc++-v3/libsupc++/cxxabi_init_exception.h
--- 145960,145966 ----
  f0e2e9453cd4ca21909ab9424da5b303  libstdc++-v3/libsupc++/bad_cast.cc
  53c4c4a690a6930ff1d727711de2d2cb  libstdc++-v3/libsupc++/bad_typeid.cc
  47e7721cc47b6692830b6d19cb800032  libstdc++-v3/libsupc++/class_type_info.cc
! 6f3f3768bdcc56b6beb47700a5595071  libstdc++-v3/libsupc++/compare
  4a388d03ae2617f1ae10574dc69b7398  libstdc++-v3/libsupc++/cxxabi.h
  88ea372654b2288b408dae2118459fa6  libstdc++-v3/libsupc++/cxxabi_forced.h
  774fdaf99511789e9eabe379ab45028c  libstdc++-v3/libsupc++/cxxabi_init_exception.h
*************** f401903d92a7ab4576b40881d75f2b82  libstd
*** 146857,146862 ****
--- 146926,146932 ----
  fc3396cbc8d7f562428fbfcea14d6a33  libstdc++-v3/testsuite/20_util/function_objects/binders/3113.cc
  c71f59c7e62122b160045e52ecca95be  libstdc++-v3/testsuite/20_util/function_objects/comparisons.cc
  2bc44674d3b87755669990b7367d625d  libstdc++-v3/testsuite/20_util/function_objects/comparisons_pointer.cc
+ ecfb8c4b535e0bf09b4b70c183321205  libstdc++-v3/testsuite/20_util/function_objects/comparisons_pointer_spaceship.cc
  ee8bbae5dcb14ad609406cee582380e1  libstdc++-v3/testsuite/20_util/function_objects/comparisons_void.cc
  1d6f0179187e58dfac8ddfc5297156a7  libstdc++-v3/testsuite/20_util/function_objects/constexpr.cc
  3b20afe7f77437720ebc48fb1efaa9de  libstdc++-v3/testsuite/20_util/function_objects/constexpr_searcher.cc
*************** e5fd9b1e34af8b99ed0fc146e4f49a8d  libstd
*** 148148,148153 ****
--- 148218,148224 ----
  de03737fec110af21e45fe8249bf70b0  libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/noexcept_move_construct.cc
  3406a31d2e3bef6bd4622e24c36a7210  libstdc++-v3/testsuite/21_strings/basic_string/debug/1_neg.cc
  4782ea411e4af80f1d3c3fb20fb86e9b  libstdc++-v3/testsuite/21_strings/basic_string/debug/2_neg.cc
+ c9a8d5b830d98ca9891ece8a139f8571  libstdc++-v3/testsuite/21_strings/basic_string/debug/erase.cc
  fdde50b2dea4cc29df987bdd3859ca85  libstdc++-v3/testsuite/21_strings/basic_string/debug/find1_neg.cc
  aa29fdf471f4d33b0f29d65e33715155  libstdc++-v3/testsuite/21_strings/basic_string/debug/find2_neg.cc
  c8a546775dbaa7907a780e295cd4249f  libstdc++-v3/testsuite/21_strings/basic_string/dr2268.cc
*************** a35ba7386251ec282b0efabcfdb0d23f  libstd
*** 149404,149409 ****
--- 149475,149481 ----
  3de030171ae786aca448638834e0c79e  libstdc++-v3/testsuite/23_containers/forward_list/debug/construct2_neg.cc
  5208ce8c00baf28c990fc291402333fb  libstdc++-v3/testsuite/23_containers/forward_list/debug/construct3_neg.cc
  4aa4e8da22a79ce1230d6d20f687d94a  libstdc++-v3/testsuite/23_containers/forward_list/debug/construct4_neg.cc
+ 874602905fcffeb23293bd990349874b  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase.cc
  3b1f53fc910f3ba0f15d398559e408ad  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc
  37b23da04bb0d997179c0b5422a985f0  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc
  e87a32927325c3b9524e8e7f64d6ed72  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc
*************** fe614068205c36fe203730015cfa3164  libstd
*** 149417,149422 ****
--- 149489,149495 ----
  102a7965da78f821be2de0f65125c5b0  libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc
  4dfe08dc51113ebd3f69b711f313b3bc  libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc
  88ec6e77fe8399a6da57d645d5b9bb55  libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after4_neg.cc
+ 3ccecb1d63222102d17ddc50b613825c  libstdc++-v3/testsuite/23_containers/forward_list/debug/invalidation/erase.cc
  6739c2a239f220f86b94c5eb58bb26f9  libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator1_neg.cc
  7d98aa4054a5b4b65d8cd33460d169a5  libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator2_neg.cc
  0b9802843003f1e51f77e1d27149d6af  libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator3_neg.cc
*************** d9a9f60e97e87250c84e78567cf04faa  libstd
*** 149606,149611 ****
--- 149679,149685 ----
  8bf39cd05023e76c50826469ab128d0f  libstdc++-v3/testsuite/23_containers/list/debug/construct2_neg.cc
  306bf1fae0d50952f91c5c4fb9e088d7  libstdc++-v3/testsuite/23_containers/list/debug/construct3_neg.cc
  a2b299bc4f4c6de6c19854da859f35d2  libstdc++-v3/testsuite/23_containers/list/debug/construct4_neg.cc
+ 02db019b204142f6458b9e1ed78497b1  libstdc++-v3/testsuite/23_containers/list/debug/erase.cc
  de1c0fc1845e4285b8c33e7cd1369645  libstdc++-v3/testsuite/23_containers/list/debug/insert1_neg.cc
  8899a3bcb6e0f1305b91f2078116b7cd  libstdc++-v3/testsuite/23_containers/list/debug/insert2_neg.cc
  efa6c80bfdc127b5272b68da9c6fd435  libstdc++-v3/testsuite/23_containers/list/debug/insert3_neg.cc
*************** bca6f5c7e7081acdf6dcf34519bb64a2  libstd
*** 149615,149620 ****
--- 149689,149695 ----
  dcdaf2b57f5d86689a6d1d5a577976c9  libstdc++-v3/testsuite/23_containers/list/debug/invalidation/2.cc
  eddbed1c71bc4ec55bc42d7d0a492a76  libstdc++-v3/testsuite/23_containers/list/debug/invalidation/3.cc
  f8c804d873b974f5601f67154116158c  libstdc++-v3/testsuite/23_containers/list/debug/invalidation/4.cc
+ 1b77d115c80dd79aeae23c64481ac8dc  libstdc++-v3/testsuite/23_containers/list/debug/invalidation/erase.cc
  6e91bd33b73957cdbf682fb0a397e106  libstdc++-v3/testsuite/23_containers/list/erasure.cc
  3f5bfc79fe1c99807db5435a266c12e8  libstdc++-v3/testsuite/23_containers/list/init-list.cc
  9a4bc9e83782fa271436206964c07323  libstdc++-v3/testsuite/23_containers/list/init-list.h
*************** f6f703b82bf080a134dba7d04b59c09a  libstd
*** 149726,149737 ****
--- 149801,149814 ----
  8be6200abcb868b64f8a3e102dce0672  libstdc++-v3/testsuite/23_containers/map/debug/construct3_neg.cc
  250ce31178fc352b72a040cccfcd9e99  libstdc++-v3/testsuite/23_containers/map/debug/construct4_neg.cc
  41a16b6cf178fdcda3d0ff1c79955c4b  libstdc++-v3/testsuite/23_containers/map/debug/construct5_neg.cc
+ fbbb5ba540b74fc0105228d4bf7a45d6  libstdc++-v3/testsuite/23_containers/map/debug/erase_if.cc
  c07299df138ccd2ef852a779f53db091  libstdc++-v3/testsuite/23_containers/map/debug/insert1_neg.cc
  64570b290aca82eba33c9173b2d20102  libstdc++-v3/testsuite/23_containers/map/debug/insert2_neg.cc
  eb45db7da195c9dc1d6a6eab906f9035  libstdc++-v3/testsuite/23_containers/map/debug/insert3_neg.cc
  831eaa3d8a088b93707cd5317c8daeb6  libstdc++-v3/testsuite/23_containers/map/debug/insert4_neg.cc
  7631dd583171545f327432fd4ed79eed  libstdc++-v3/testsuite/23_containers/map/debug/invalidation/1.cc
  200af21db6c5490e941d64cad39ca4b1  libstdc++-v3/testsuite/23_containers/map/debug/invalidation/2.cc
+ b3db60448827db2b181cd95318afe899  libstdc++-v3/testsuite/23_containers/map/debug/invalidation/erase_if.cc
  b928883c5cd27da19fc620083f267e5b  libstdc++-v3/testsuite/23_containers/map/debug/move_assign_neg.cc
  a872e6ef4946ab341f3f7a6831e55904  libstdc++-v3/testsuite/23_containers/map/debug/move_neg.cc
  cdea603d456b555b9b92832baf061728  libstdc++-v3/testsuite/23_containers/map/element_access/1.cc
*************** c1369051ca8834ab9c8a533f7effe3eb  libstd
*** 149866,149877 ****
--- 149943,149956 ----
  65becab5b37e1500a119c7f13c9ced57  libstdc++-v3/testsuite/23_containers/multimap/debug/construct3_neg.cc
  0e85d452fa485c1dd31c707a383bc7c2  libstdc++-v3/testsuite/23_containers/multimap/debug/construct4_neg.cc
  4280a2f618117fa05262e5e64b5904fa  libstdc++-v3/testsuite/23_containers/multimap/debug/construct5_neg.cc
+ 1d92c5cd28d9cb2a4140bd3f9818f45a  libstdc++-v3/testsuite/23_containers/multimap/debug/erase_if.cc
  61b2c34b6ecf7a1f03be4766f09c75dc  libstdc++-v3/testsuite/23_containers/multimap/debug/insert1_neg.cc
  1dee5a3aa56fbb56e95c9e5c6949017a  libstdc++-v3/testsuite/23_containers/multimap/debug/insert2_neg.cc
  c133585e43b4470405ec622f743d71cf  libstdc++-v3/testsuite/23_containers/multimap/debug/insert3_neg.cc
  f628f5aa1b6c9134ce90957697cb6fea  libstdc++-v3/testsuite/23_containers/multimap/debug/insert4_neg.cc
  26295929f49b16878a46421ce1331462  libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/1.cc
  3d6bd27c147ba30ec31821b7743e7067  libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/2.cc
+ b709e6fe79210867089e9d8233f72c70  libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/erase_if.cc
  08344d8e277578b8d259d872da8fdc1a  libstdc++-v3/testsuite/23_containers/multimap/debug/move_assign_neg.cc
  9096a7a54e12f236d2b1d7c7ce8ac822  libstdc++-v3/testsuite/23_containers/multimap/debug/move_neg.cc
  27265905dac4e1033fc7a2726b509d7d  libstdc++-v3/testsuite/23_containers/multimap/init-list.cc
*************** cad525e777d47e8e110138c968f9df9f  libstd
*** 149945,149956 ****
--- 150024,150037 ----
  979426c587fe1d43c1fb5c2be4904bf5  libstdc++-v3/testsuite/23_containers/multiset/debug/construct3_neg.cc
  1dd60c2eacb3f58769f8fbc86eea590e  libstdc++-v3/testsuite/23_containers/multiset/debug/construct4_neg.cc
  0e75434438d2ad5211b31c052342a907  libstdc++-v3/testsuite/23_containers/multiset/debug/construct5_neg.cc
+ 2df62192fdd034a272ba0f77324f645b  libstdc++-v3/testsuite/23_containers/multiset/debug/erase_if.cc
  c40f63e711dd193d76b407ca70b3d8f8  libstdc++-v3/testsuite/23_containers/multiset/debug/insert1_neg.cc
  c38e498c23a1b1d1aeef1c30a92213cb  libstdc++-v3/testsuite/23_containers/multiset/debug/insert2_neg.cc
  27f721c8b197de84baf3915cb6ad4927  libstdc++-v3/testsuite/23_containers/multiset/debug/insert3_neg.cc
  0330540691b71f95d4765aed165f9c2a  libstdc++-v3/testsuite/23_containers/multiset/debug/insert4_neg.cc
  8c866633846af73056b93f96d7badcb0  libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/1.cc
  40b59e8e4ecfe660170ae916a1fbfed9  libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/2.cc
+ 86e251b70f73950565c7961e93afd4dc  libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/erase_if.cc
  c7f4dcdaa957b1bb027e29d635d7674e  libstdc++-v3/testsuite/23_containers/multiset/debug/move_assign_neg.cc
  dfccfafe03eb24674ad2ae5fb2b5f203  libstdc++-v3/testsuite/23_containers/multiset/debug/move_neg.cc
  3b29950e98aebc1c6ae9a49fd9ad3b0c  libstdc++-v3/testsuite/23_containers/multiset/init-list.cc
*************** ee0eabd5902830477bce4f06bac2af75  libstd
*** 150066,150077 ****
--- 150147,150160 ----
  aaaad68eff76a000ac65d725825f3bc1  libstdc++-v3/testsuite/23_containers/set/debug/construct3_neg.cc
  3c6694c95268c77782e7d50cd33f361f  libstdc++-v3/testsuite/23_containers/set/debug/construct4_neg.cc
  0a307cdcc159716e8ce69efa2c5e2b93  libstdc++-v3/testsuite/23_containers/set/debug/construct5_neg.cc
+ c70f627d3942cb970940aba529d46ea6  libstdc++-v3/testsuite/23_containers/set/debug/erase_if.cc
  6ed58362de456ae646dd4f0b0abdeba2  libstdc++-v3/testsuite/23_containers/set/debug/insert1_neg.cc
  746019e252775cf4062b298cf6568027  libstdc++-v3/testsuite/23_containers/set/debug/insert2_neg.cc
  9eb01269b7288d0bb4e57eb91f22e5a5  libstdc++-v3/testsuite/23_containers/set/debug/insert3_neg.cc
  af2f92a5c474b2b9068f7b00fda33c59  libstdc++-v3/testsuite/23_containers/set/debug/insert4_neg.cc
  ba5e7996b3d8760145466786e7d7939f  libstdc++-v3/testsuite/23_containers/set/debug/invalidation/1.cc
  c164356a151688f41808bfffe93d3bfe  libstdc++-v3/testsuite/23_containers/set/debug/invalidation/2.cc
+ 22795cca8e5d309fdd585c41355ae1af  libstdc++-v3/testsuite/23_containers/set/debug/invalidation/erase_if.cc
  cf28a29caf5960ef4526edb5be120ab9  libstdc++-v3/testsuite/23_containers/set/debug/move_assign_neg.cc
  591ff87520cec8e75a608245cef0dfd5  libstdc++-v3/testsuite/23_containers/set/debug/move_neg.cc
  d018e4f350f6d2beab2f383ba0b78af9  libstdc++-v3/testsuite/23_containers/set/erasure.cc
*************** dcbd72c768514bfbd8f209a860550f8e  libstd
*** 150217,150222 ****
--- 150300,150306 ----
  c284509bf1f0ff8b1b3c0a4f833ff13a  libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct5_neg.cc
  1c12a723e53145e617794e08a13fbde2  libstdc++-v3/testsuite/23_containers/unordered_map/debug/end1_neg.cc
  b3d8ce4c6b58f1782e5b4079b29001e4  libstdc++-v3/testsuite/23_containers/unordered_map/debug/end2_neg.cc
+ 86f8c32f680b3746bb989e2bc55a1c0e  libstdc++-v3/testsuite/23_containers/unordered_map/debug/erase_if.cc
  2b0738abaca9c0c0dfa8411cdc7f87f4  libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert1_neg.cc
  d10eaa5492677da1d3cc82de2b2e44ea  libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert2_neg.cc
  9ac6ba3daf1f8a842c592e4a268d9833  libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert3_neg.cc
*************** f7863b5de87ef7a96436a098b57156c6  libstd
*** 150231,150236 ****
--- 150315,150321 ----
  1edf6281b3ca9799ae88148d55d8050c  libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc
  6a98e53837af8954af5380d0b48b0baf  libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc
  d6ab0e9952bc003acb75bdeb47022472  libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc
+ 3f00369e6edfb847d5a27024fec226e1  libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalidation/erase_if.cc
  5ad45e3004b5b3345c571ec8ee9b9476  libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc
  ec5f25200eab229dcb114c539335f057  libstdc++-v3/testsuite/23_containers/unordered_map/debug/merge1_neg.cc
  1b50fcbac0e81550e3f02766b2163b1e  libstdc++-v3/testsuite/23_containers/unordered_map/debug/merge2_neg.cc
*************** d766b6a130913786f4c601889e9c4b9e  libstd
*** 150335,150340 ****
--- 150420,150426 ----
  e92bd425b438b4e11fef8f183519408f  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc
  c000b54ac12c2a1fb45c616e25c45c22  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc
  3239034f3cf362b6cfcdd77b9daf3ee8  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc
+ 03292cdc80254e5ddf8cbec2fd8bfdba  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/erase_if.cc
  21243d59a337833300e1a503e9011087  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc
  eb53ad4e654c6dbc65e788ec1a59cafd  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc
  2fd389102aa8593aa7a779aaa523b0e8  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc
*************** ccf533ff9b83f0c51618d899c9126fe0  libstd
*** 150347,150352 ****
--- 150433,150439 ----
  b846c8f9c4b3769267293f32060c930e  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_move_assignment_neg.cc
  350ff2954a72a3c21062e3de22b0b046  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_move_construction_neg.cc
  717171314e3d760252fb14c70c21eb4d  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc
+ 7427c4642e12d164904ebf6e6f837bbd  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalidation/erase_if.cc
  644de5da03764f9820a93a4ea4d26fa1  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc
  4590d5159c6810e053d83e37afdfdccc  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/merge1_neg.cc
  10748ae08ea59767c0dec11efeda3ecf  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/merge2_neg.cc
*************** b25cdbdc238a7f45a9a469f5bd0f8d3d  libstd
*** 150441,150446 ****
--- 150528,150534 ----
  9ba2432c03ee911257033bcc376558e6  libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc
  96a980c721b4c8f61becc9ee2679be9e  libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end1_neg.cc
  c05c599b035fb9e6fd39a10a3014cadb  libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end2_neg.cc
+ d1777bd9643c1bced98879098f4ce462  libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/erase_if.cc
  ebb1e404bc8e054a8057210b499b8fda  libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc
  b518460b1db6159d26a6ad137d3ed396  libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc
  56224e91a72399bd72fb72b6c77c57ad  libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc
*************** e94704cdafb41903d3f5d254aaec1982  libstd
*** 150453,150458 ****
--- 150541,150547 ----
  7c50c0f8ebca9ddaae8d2fbd565ed22d  libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_move_assignment_neg.cc
  6d337bb772a977a65ef1619122c35825  libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_move_construction_neg.cc
  d0ced60671b11e18eb805ddb061618bf  libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc
+ 15b58daa81f8d98dc4bd4613e8ee6b3f  libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalidation/erase_if.cc
  c196f2de183915b7a6ef3620c40a8da9  libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc
  57b376626504f59753991e34bc78237c  libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/merge1_neg.cc
  4780603df65da907f59b5dc2271c7d4b  libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/merge2_neg.cc
*************** ac120956ece126b270e7449f36def24f  libstd
*** 150555,150560 ****
--- 150644,150650 ----
  e773911253c8ae1ae0238b93f6bce16a  libstdc++-v3/testsuite/23_containers/unordered_set/debug/debug_functions.cc
  9b6e8600689fb4b403ca1ca419bd4174  libstdc++-v3/testsuite/23_containers/unordered_set/debug/end1_neg.cc
  db477b21dd576b1e073e58e12bab5a46  libstdc++-v3/testsuite/23_containers/unordered_set/debug/end2_neg.cc
+ 54c23ef244765428cd25899b811be00a  libstdc++-v3/testsuite/23_containers/unordered_set/debug/erase_if.cc
  0d129952dd3f26d95ef5ebefdf0d82b8  libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert1_neg.cc
  6a694e18959176cb6248d7e0cfe788a8  libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert2_neg.cc
  399205ea59b6947717391ee10e02bf84  libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert3_neg.cc
*************** a5a6c35c005b437a788dab2f7c0a8ecd  libstd
*** 150567,150572 ****
--- 150657,150663 ----
  760bbbca9030fb464dc192ab9455535a  libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_move_assignment_neg.cc
  2860648eda0d98d2c9d3e70cd8aa8162  libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_move_construction_neg.cc
  099f6eb6017c5dcda037f71cb4951914  libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc
+ abfc9c597167bb2a81311ba63ee13f80  libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalidation/erase_if.cc
  f2e0177effeabeb3e72c4d0cfc5264de  libstdc++-v3/testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc
  8121fd537a86b2d9c88f3a74d9dfd917  libstdc++-v3/testsuite/23_containers/unordered_set/debug/merge1_neg.cc
  8abc555d1b878f2729647a5a9b417280  libstdc++-v3/testsuite/23_containers/unordered_set/debug/merge2_neg.cc
diff -Nrcpad gcc-16-20260118/config/ChangeLog gcc-16-20260125/config/ChangeLog
*** gcc-16-20260118/config/ChangeLog	Sun Jan 18 22:32:05 2026
--- gcc-16-20260125/config/ChangeLog	Sun Jan 25 22:32:06 2026
***************
*** 1,3 ****
--- 1,7 ----
+ 2026-01-20  Prachi Godbole  <pgodbole@nvidia.com>
+ 
+ 	* bootstrap-lto-locality-cpp-template.mk: New file.
+ 
  2025-12-30  Jose E. Marchesi  <jose.marchesi@oracle.com>
  
  	* acx.m4: Define ACX_PROG_A68 rather than ACX_PROG_GA68.
diff -Nrcpad gcc-16-20260118/config/bootstrap-lto-locality-cpp-template.mk gcc-16-20260125/config/bootstrap-lto-locality-cpp-template.mk
*** gcc-16-20260118/config/bootstrap-lto-locality-cpp-template.mk	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/config/bootstrap-lto-locality-cpp-template.mk	Sun Jan 25 22:32:06 2026
***************
*** 0 ****
--- 1,22 ----
+ # This option enables LTO and locality partitioning for stage2 and stage3 in slim mode
+ 
+ STAGE2_CFLAGS += -flto=jobserver -frandom-seed=1 -fipa-reorder-for-locality \
+ 		 --param=lto-partition-locality-heuristics=cpp_template
+ STAGE3_CFLAGS += -flto=jobserver -frandom-seed=1 -fipa-reorder-for-locality \
+ 		 --param=lto-partition-locality-heuristics=cpp_template
+ STAGEprofile_CFLAGS += -flto=jobserver -frandom-seed=1
+ STAGEtrain_CFLAGS += -flto=jobserver -frandom-seed=1
+ STAGEfeedback_CFLAGS += -flto=jobserver -frandom-seed=1 -fipa-reorder-for-locality
+ 
+ # assumes the host supports the linker plugin
+ LTO_AR = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ar$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/
+ LTO_RANLIB = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ranlib$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/
+ LTO_NM = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-nm$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/
+ 
+ LTO_EXPORTS = AR="$(LTO_AR)"; export AR; \
+ 	      RANLIB="$(LTO_RANLIB)"; export RANLIB; \
+ 	      NM="$(LTO_NM)"; export NM;
+ LTO_FLAGS_TO_PASS = AR="$(LTO_AR)" RANLIB="$(LTO_RANLIB)" NM="$(LTO_NM)"
+ 
+ do-compare = $(SHELL) $(srcdir)/contrib/compare-lto $$f1 $$f2
+ extra-compare = gcc/lto1$(exeext)
diff -Nrcpad gcc-16-20260118/configure gcc-16-20260125/configure
*** gcc-16-20260118/configure	Sun Jan 18 22:32:19 2026
--- gcc-16-20260125/configure	Sun Jan 25 22:32:22 2026
*************** case "$target:$have_compiler:$host:$targ
*** 11755,11760 ****
--- 11755,11776 ----
      ;;
  esac
  
+ # For s390, -m31 is deprecated.  Emit a warning if --enable-multilib and
+ # --enable-obsolete are explicitly specified.  If --enable-multilib is
+ # specified implicitly or --enable-obsolete is missing, error out.
+ case "$target:$enable_multilib:$enable_obsolete" in
+   s390*:yes:yes)
+     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Support for -m31 is deprecated and will be removed." >&5
+ $as_echo "$as_me: WARNING: Support for -m31 is deprecated and will be removed." >&2;}
+     ;;
+   s390*::*)
+     as_fn_error $? "Support for -m31 is deprecated and will be removed. Explicitly specify --disable-multilib or --enable-multilib --enable-obsolete to build it anyway." "$LINENO" 5
+     ;;
+   s390*:yes:*)
+     as_fn_error $? "Support for -m31 is deprecated and will be removed. Specify --enable-obsolete to build it anyway." "$LINENO" 5
+     ;;
+ esac
+ 
  # Default to --enable-multilib.
  if test x${enable_multilib} = x ; then
    target_configargs="--enable-multilib ${target_configargs}"
diff -Nrcpad gcc-16-20260118/configure.ac gcc-16-20260125/configure.ac
*** gcc-16-20260118/configure.ac	Sun Jan 18 22:32:05 2026
--- gcc-16-20260125/configure.ac	Sun Jan 25 22:32:06 2026
*************** case "$target:$have_compiler:$host:$targ
*** 3825,3830 ****
--- 3825,3845 ----
      ;;
  esac
  
+ # For s390, -m31 is deprecated.  Emit a warning if --enable-multilib and
+ # --enable-obsolete are explicitly specified.  If --enable-multilib is
+ # specified implicitly or --enable-obsolete is missing, error out.
+ case "$target:$enable_multilib:$enable_obsolete" in
+   s390*:yes:yes)
+     AC_MSG_WARN([Support for -m31 is deprecated and will be removed.])
+     ;;
+   s390*::*)
+     AC_MSG_ERROR([Support for -m31 is deprecated and will be removed. Explicitly specify --disable-multilib or --enable-multilib --enable-obsolete to build it anyway.])
+     ;;
+   s390*:yes:*)
+     AC_MSG_ERROR([Support for -m31 is deprecated and will be removed. Specify --enable-obsolete to build it anyway.])
+     ;;
+ esac
+ 
  # Default to --enable-multilib.
  if test x${enable_multilib} = x ; then
    target_configargs="--enable-multilib ${target_configargs}"
diff -Nrcpad gcc-16-20260118/gcc/ChangeLog gcc-16-20260125/gcc/ChangeLog
*** gcc-16-20260118/gcc/ChangeLog	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/ChangeLog	Sun Jan 25 22:32:06 2026
***************
*** 1,3 ****
--- 1,510 ----
+ 2026-01-24  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/123803
+ 	* gimple-ssa-strength-reduction.cc (replace_rhs_if_not_dup): For
+ 	pointer lhs use sizetype.
+ 
+ 2026-01-23  Robin Dapp  <rdapp@oss.qualcomm.com>
+ 
+ 	PR target/123780
+ 	* config/riscv/vector.md: Correct output template.
+ 
+ 2026-01-23  Robin Dapp  <rdapp@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/123767
+ 	* tree-vect-stmts.cc (vectorizable_store): Only scale offset
+ 	once.
+ 	(vectorizable_load): Ditto.
+ 
+ 2026-01-23  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/123778
+ 	* genmatch.cc (parser::parse_expr): Peek on the next
+ 	token after eating the `!` or `^`.
+ 	* match.pd (`(op (cnd @0 @1 @2) @3)`, `(op @3 (cnd @0 @1 @2))`):
+ 	Add the type to resulting op.
+ 
+ 2026-01-23  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/120258
+ 	PR tree-optimization/106883
+ 	* gimple-ssa-strength-reduction.cc (replace_mult_candidate): Allow for
+ 	basis_name and bump_tree not to be the same type as the lhs.
+ 	Rewrite added multiply for undefined overflow.
+ 	(create_add_on_incoming_edge): Allow for init
+ 	to be a different type from the wanted type.
+ 	Rewrite added add for undefined overflow.
+ 	(replace_rhs_if_not_dup): Rewrite replaced stmts
+ 	for undefined overflow.
+ 	(replace_one_candidate): Allow for basis_name and
+ 	rhs2 to be a different type from lhs.
+ 
+ 2026-01-23  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/106883
+ 	* gimple-ssa-strength-reduction.cc (create_add_on_incoming_edge): Rewrite
+ 	the new addition on the edge too.
+ 
+ 2026-01-23  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	* gimple-ssa-strength-reduction.cc (introduce_cast_before_cand): Use
+ 	gimple_convert instead of manually creating the gimple_assign.
+ 
+ 2026-01-23  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/121347
+ 	PR tree-optimization/106883
+ 	* gimple-ssa-strength-reduction.cc (insert_initializers): Rewrite
+ 	newly inserted statements for undefinedness (overflow).
+ 
+ 2026-01-23  Peter Bergner  <bergner@tenstorrent.com>
+ 
+ 	PR target/123492
+ 	* config/riscv/riscv-cores.def (RISCV_CORE): Add zvfbfmin to
+ 	tt-ascalon-d8.
+ 
+ 2026-01-23  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/123776
+ 	* gimple-fold.cc (gimple_fold_partial_load_store): Copy
+ 	the vdef from the old statement to the new statement of a
+ 	load that is also a store to non gimple_reg.
+ 
+ 2026-01-23  Richard Sandiford  <rdsandiford@googlemail.com>
+ 
+ 	PR rtl-optimization/80357
+ 	PR rtl-optimization/94014
+ 	PR rtl-optimization/123144
+ 	* haifa-sched.cc (model_recompute): Ignore dying uses of registers
+ 	that are not assumed to be live.
+ 
+ 2026-01-23  Richard Biener  <rguenther@suse.de>
+ 
+ 	* match.pd ((convert (vec_cond ...))): Make sure the
+ 	resulting vec_cond can be expanded.
+ 
+ 2026-01-23  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/123775
+ 	* match.pd ((view_convert (vec_cond ...))): Make sure the
+ 	resulting vec_cond can be expanded.
+ 
+ 2026-01-23  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	Revert:
+ 	2026-01-20  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	PR target/123584
+ 	* config/aarch64/aarch64-sve2.md (@aarch64_sve2_xar<mode>): Use
+ 	aarch64_simd_rshift_imm predicate for rotate amount.
+ 
+ 2026-01-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/123703
+ 	* builtins.cc (fold_builtin_abs): Return NULL_TREE if type is not
+ 	integral.
+ 
+ 2026-01-23  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123771
+ 	* tree-vect-loop.cc (vectorizable_induction): Convert step
+ 	also for VLA vectors.
+ 
+ 2026-01-23  Richard Biener  <rguenther@suse.de>
+ 
+ 	* config/i386/i386.cc (ix86_vector_costs::finish_cost):
+ 	Avoid selecting masked epilogs for in-order reductions.
+ 
+ 2026-01-23  Hongyu Wang  <hongyu.wang@intel.com>
+ 
+ 	* config/i386/sse.md (avx2_vbroadcasti128_<mode>): Constraint
+ 	alternative 0 with jm and add gpr16 attr to avoid egpr usage.
+ 
+ 2026-01-22  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/123742
+ 	* config/arm/neon.md (*smin<mode>3_neon): Renamed to ...
+ 	(*smin<VDQWH:mode>3_neon): ... this.  Add HFmode support.
+ 	(*smax<mode>3_neon): Renamed to ...
+ 	(*smax<VDQWH:mode>3_neon): ... this.  Add HFmode support.
+ 
+ 2026-01-22  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123741
+ 	* tree-vect-stmts.cc (vectorizable_store): Add missing check
+ 	on loop vectorization.
+ 
+ 2026-01-22  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* tree-vrp.cc (remove_unreachable::fully_replaceable): Fix typo
+ 	in comment.
+ 
+ 2026-01-22  Robin Dapp  <rdapp@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/123731
+ 	* tree-ssa-forwprop.cc (simplify_vector_constructor): Handle nop
+ 	conversion between during extraction.
+ 
+ 2026-01-22  Robin Dapp  <rdapp@oss.qualcomm.com>
+ 
+ 	PR target/122869
+ 	* config/riscv/riscv-vector-builtins-bases.cc (fold_fault_load):
+ 	Remove
+ 	* config/riscv/riscv-vector-builtins.cc (function_expander::use_contiguous_load_insn):
+ 	Use new helper.
+ 	(function_expander::prepare_contiguous_load_insn): New helper.
+ 	(function_expander::use_fof_load_insn): New function to emit FoF
+ 	loads.
+ 	* config/riscv/riscv-vector-builtins.h: Declare new functions.
+ 
+ 2026-01-22  Robin Dapp  <rdapp@oss.qualcomm.com>
+ 
+ 	PR target/123279
+ 	* config/riscv/riscv-vector-builtins-functions.def (REQUIRED_EXTENSIONS):
+ 	Add VECTOR_EXT_NO_XTHEAD.
+ 	(vlm): Move to VECTOR_EXT_NO_XTHEAD.
+ 	(vsm): Ditto.
+ 	(vzext): Ditto.
+ 	(vsext): Ditto.
+ 	(vaaddu): Ditto.
+ 	(vaadd): Ditto.
+ 	(vasubu): Ditto.
+ 	(vasub): Ditto.
+ 	(vfrsqrt7): Ditto.
+ 	(vfrec7): Ditto.
+ 	(vfrec7_frm): Ditto.
+ 	(vfslide1up): Ditto.
+ 	(vfslide1down): Ditto.
+ 	(vluxei8): Ditto.
+ 	(vluxei16): Ditto.
+ 	(vluxei32): Ditto.
+ 	(vluxei64): Ditto.
+ 	(vsuxei8): Ditto.
+ 	(vsuxei16): Ditto.
+ 	(vsuxei32): Ditto.
+ 	(vsuxei64): Ditto.
+ 	(vluxseg): Ditto.
+ 	(vsuxseg): Ditto.
+ 	(vrgatherei16): Ditto.
+ 	(vlseg): Keep.
+ 	(vsseg): Keep.
+ 	(vlsseg): Keep.
+ 	(vssseg): Keep.
+ 	(vloxseg): Keep.
+ 	(vsoxseg): Keep.
+ 	(vlsegff): Keep.
+ 	* config/riscv/riscv-vector-builtins.cc (GTY): Split
+ 	registered_functions into multiple partitions.
+ 	(is_fractional_lmul): New function.
+ 	(xthvector_unsupported_p): Ditto.
+ 	(get_builtin_partition): Ditto.
+ 	(function_builder::add_function): Use new functions.
+ 	(lookup_registered_function): Ditto.
+ 	(builtin_decl): Use lookup_registered_function.
+ 	(gimple_fold_builtin): Ditto.
+ 	(expand_builtin): Ditto.
+ 	(check_builtin_call): Ditto.
+ 	(resolve_overloaded_builtin): Ditto.
+ 	* config/riscv/riscv-vector-builtins.h (enum required_ext):
+ 	(enum rvv_builtin_partition): New enum.
+ 	(required_ext_to_isa_name): Add NO_XTHEAD.
+ 	(required_extensions_specified): Ditto.
+ 	* config/riscv/riscv-vector-switch.def (ENTRY): Remove
+ 	XTheadVector.
+ 	(TUPLE_ENTRY): Ditto.
+ 	* config/riscv/riscv.cc (riscv_expand_mult_with_const_int): Fix
+ 	whitespace.
+ 	(riscv_legitimize_poly_move): Ditto.
+ 	(riscv_vector_fractional_lmul_p): New function.
+ 	(riscv_validate_vector_type): Use new function.
+ 
+ 2026-01-22  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123755
+ 	* tree-vect-stmts.cc (vectorizable_call): Register mask when
+ 	the call could trap.
+ 
+ 2026-01-22  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123756
+ 	* tree-vect-loop.cc (vect_transform_reduction): Remove
+ 	bogus assert.
+ 
+ 2026-01-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/123736
+ 	* tree-ssa-loop-unswitch.cc (hoist_guard): Guard dump message
+ 	on dump_file && (dump_flags & TDF_DETAILS) condition.
+ 
+ 2026-01-22  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR diagnostics/122622
+ 	* diagnostics/paths-output.cc: Include "diagnostics/file-cache.h".
+ 	(event_range::print_as_text): Generalize the fallback logic for
+ 	special locations to also cover the case where source-printing
+ 	will fail, and show the location for that case.
+ 	(event_range::print_as_html): Likewise.
+ 	(event_range::can_print_source_p): New.
+ 
+ 2026-01-22  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	PR target/123631
+ 	* config/i386/i386-expand.cc (ix86_vector_duplicate_value):
+ 	Don't force CONST_INT to reg !TARGET_PREFER_BCST_FROM_INTEGER,
+ 	force it to mem instead.
+ 	* config/i386/i386.h (TARGET_PREFER_BCST_FROM_INTEGER): New macro.
+ 	* config/i386/x86-tune.def
+ 	(X86_TUNE_PREFER_BCST_FROM_INTEGER): New tune.
+ 
+ 2026-01-21  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>
+ 
+ 	PR target/122781
+ 	* config/s390/vector.md: Don't emulate vec_cmpgtu for 128-bit
+ 	integers for VXE3.
+ 
+ 2026-01-20  Jeff Law  <jeffrey.law@oss.qualcomm.com>
+ 
+ 	PR rtl-optimization/123380
+ 	* combine.cc (gen_lowpart_for_combine): Don't try to create a
+ 	paradoxical SUBREG if it's going to be rejected by validate_subreg.
+ 
+ 2026-01-20  Jeff Law  <jeffrey.law@oss.qualcomm.com>
+ 
+ 	PR target/123626
+ 	* config/riscv/vector.md (vxrm_mode): Handle CALL_INSNs, which set
+ 	the attribute to the new VXRM_MODE_CLOBBER state.
+ 	* config/riscv/riscv.cc (riscv_emit_mode_set): Don't emit code when
+ 	VXRM's state changes to VXRM_MODE_CLOBBER.
+ 
+ 2026-01-20  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	PR tree-optimization/123314
+ 	* gimple-range.cc (gimple_ranger::range_on_entry): Do not check
+ 	ranger cache for an SSA_NAME with no BB.
+ 	(gimple_ranger::prefill_stmt_dependencies): Stop filling
+ 	dependencies when an out-of IL name is encountered.
+ 
+ 2026-01-20  supers1ngular  <supers1ngular@baylibre.com>
+ 
+ 	* doc/extend.texi: Swap samp fields to fix overfull hbox.
+ 	* doc/invoke.texi: Ditto.
+ 
+ 2026-01-20  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>
+ 
+ 	PR c++/123639
+ 	* doc/invoke.texi: Add @item for -Wsfinae-incomplete.
+ 
+ 2026-01-20  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* diagnostics/context.cc (context::action_after_output): Print
+ 	invocation on ICE.
+ 
+ 2026-01-20  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR sarif-replay/123056
+ 	* libsarifreplay.cc (struct embedded_link): Move decl earlier.
+ 	(sarif_replayer::append_embeddded_link): New.
+ 	(sarif_replayer::make_plain_text_within_result_message): Move the
+ 	link-replay logic to the above, and skip the link part of
+ 	intra-sarif links.
+ 
+ 2026-01-20  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	* config/avr/avr.cc (TARGET_SETJMP_PRESERVES_NONVOLATILE_REGS_P):
+ 	Return true when WITH_AVRLIBC.
+ 
+ 2026-01-20  Alfie Richards  <alfie.richards@arm.com>
+ 
+ 	* config/aarch64/aarch64.md: Update comment.
+ 	* config/aarch64/aarch64-simd.md: Change comment to refer to
+ 	aarch64.md.
+ 	* config/aarch64/aarch64-sme.md: Likewise.
+ 	* config/aarch64/aarch64-sve.md: Likewise.
+ 	* config/aarch64/aarch64-sve2.md: Likewise.
+ 	* config/aarch64/aarch64-sve-builtins.def: Update comment.
+ 	* config/aarch64/aarch64-sve-builtins-base.def: Update to refer
+ 	to aarch64-sve-builtins.def.
+ 	* config/aarch64/aarch64-sve-builtins-sme.def: Likewise.
+ 	* config/aarch64/aarch64-sve-builtins-sve2.def: Likewise.
+ 
+ 2026-01-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/123724
+ 	* config/aarch64/aarch64.cc (aarch64_possible_by_lane_insn_p): Ignore
+ 	debug stmts.
+ 
+ 2026-01-20  Roger Sayle  <roger@nextmovesoftware.com>
+ 
+ 	PR rtl-optimization/123585
+ 	* simplify-rtx.cc (simplify_context::simplify_binary_operation_1)
+ 	<case VEC_SELECT>: Correct gcc_assert when optimizing a vec_select
+ 	of a vec_select with differing vector lengths.
+ 
+ 2026-01-20  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	PR target/123584
+ 	* config/aarch64/aarch64-sve2.md (@aarch64_sve2_xar<mode>): Use
+ 	aarch64_simd_rshift_imm predicate for rotate amount.
+ 
+ 2026-01-20  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	PR target/123584
+ 	* config/aarch64/aarch64-simd.md (aarch64_xarqv2di): Leave zero
+ 	rotate amounts as zero during expansion.
+ 	(*aarch64_xarqv2di_insn): Account for zero rotate amounts.  Print #
+ 	in rotate immediate.
+ 
+ 2026-01-20  Prachi Godbole  <pgodbole@nvidia.com>
+ 
+ 	* flag-types.h (enum lto_locality_heuristics): New enum.
+ 	* ipa-locality-cloning.cc (struct templ_info): New struct.
+ 	(struct locality_info): Add templ_info field.
+ 	(templ_hash_map): New hash_map.
+ 	(callee_templ_cmp): Ditto.
+ 	(static_profile_templ_cmp): Ditto.
+ 	(sort_templ_hashes_cmp): Ditto.
+ 	(order_templ_hashes): Ditto.
+ 	(locality_dc_template_p): Ditto.
+ 	(populate_templ_info): Ditto.
+ 	(create_locality_info): Call populate_templ_info.
+ 	(partition_callchain): Call callee_templ_cmp.
+ 	(locality_determine_static_order): Populate and sort templ_hash_map.
+ 	(locality_partition_and_clone): Handle lto_locality_heuristics.
+ 	(lc_execute): Initialize templ_hash_map.
+ 	* params.opt: New param.
+ 
+ 2026-01-20  Prachi Godbole  <pgodbole@nvidia.com>
+ 
+ 	* ipa-locality-cloning.cc (struct locality_callee_info): New struct.
+ 	(struct locality_info): Ditto.
+ 	(loc_infos): Ditto.
+ 	(get_locality_info): New function.
+ 	(sort_all_callees_default): Ditto.
+ 	(callee_default_cmp): Ditto.
+ 	(populate_callee_locality_info): Ditto.
+ 	(populate_caller_locality_info): Ditto.
+ 	(create_locality_info): Ditto.
+ 	(adjust_recursive_callees): Access node_to_clone by reference.
+ 	(inline_clones): Access node_to_clone and clone_to_node by reference.
+ 	(clone_node_as_needed): Ditto.
+ 	(accumulate_incoming_edge_frequency): Remove function.
+ 	(clone_node_p): New function.
+ 	(partition_callchain): Refactor the function.
+ 	(is_entry_node_p): Call local_p ().
+ 	(locality_determine_ipa_order): Call create_locality_info ().
+ 	(locality_determine_static_order): Ditto.
+ 	(locality_partition_and_clone): Update call to partition_callchain ()
+ 	according prototype.
+ 	(lc_execute): Allocate and free node_to_ch_info, node_to_clone,
+ 	clone_to_node.
+ 
+ 2026-01-20  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/123697
+ 	* gimple-fold.cc (gimple_fold_partial_load_store): Use an
+ 	empty CTOR for a zero else value in .MASK_LOAD_LANES.
+ 
+ 2026-01-20  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123729
+ 	* tree-vect-loop.cc (vect_create_epilog_for_reduction): Set
+ 	SSA_NAME_OCCURS_IN_ABNORMAL_PHI if the reduction flows
+ 	across an abnomal edge.
+ 
+ 2026-01-20  Richard Biener  <rguenther@suse.de>
+ 
+ 	* tree-phinodes.h (phi_arg_index_from_use): Use gphi *.
+ 	(phi_arg_edge_from_use): New helper composing
+ 	phi_arg_index_from_use and gimple_phi_arg_edge.
+ 
+ 2026-01-19  Jeff Law  <jeffrey.law@oss.qualcomm.com>
+ 
+ 	PR rtl-optimization/121787
+ 	* config/riscv/riscv-vsetvl.cc (pre_vsetvl): Adjust call to
+ 	loop_optimizer_init to avoid making CFG changes.
+ 
+ 2026-01-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	* config/sol2.opt.urls: Regenerate.
+ 	* config/darwin.opt.urls: Likewise.
+ 	* config/dragonfly.opt.urls: Likewise.
+ 	* config/freebsd.opt.urls: Likewise.
+ 	* config/gnu-user.opt.urls: Likewise.
+ 	* config/hpux11.opt.urls: Likewise.
+ 	* config/i386/cygwin.opt.urls: Likewise.
+ 	* config/mingw/mingw.opt.urls: Likewise.
+ 	* config/netbsd.opt.urls: Likewise.
+ 	* config/openbsd.opt.urls: Likewise.
+ 	* config/rs6000/aix64.opt.urls: Likewise.
+ 	* config/rtems.opt.urls: Likewise.
+ 
+ 2026-01-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	* config/sol2.h (CPP_SUBTARGET_SPEC): Remove.
+ 	* config/sol2.opt (pthread): Ignore.
+ 	(pthreads): Likewise.
+ 	* config/i386/sol2.h (CPP_SPEC): Remove.
+ 	(SUBTARGET_CPU_EXTRA_SPECS): Remove cpp_subtarget.
+ 	* doc/invoke.texi (Solaris 2 Options, pthread): Remove.
+ 
+ 2026-01-19  Jeff Law  <jeffrey.law@oss.qualcomm.com>
+ 	    Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR target/113666
+ 	* fold-const-call.cc (fold_const_vec_extract): New function.
+ 	(fold_const_call, case CFN_VEC_EXTRACT): Call it.
+ 	* match.pd (IFN_VEC_EXTRACT): Handle extraction from a uniform
+ 	vector.
+ 
+ 2026-01-19  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123061
+ 	PR tree-optimization/123636
+ 	* tree-ssa-loop-im.cc (fill_always_executed_in_1): Change
+ 	outer-to-inner to inner-to-outer iteration.  Update inner
+ 	loop state only when always executed in an immediately
+ 	nested loop.
+ 
+ 2026-01-19  Tobias Burnus  <tburnus@baylibre.com>
+ 
+ 	* doc/install.texi (GCN): gfx9-4-generic requires LLVM 20.
+ 
+ 2026-01-19  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123602
+ 	* tree-ssa-pre.cc (find_or_generate_expression): Do not
+ 	generate references to abnormal SSA names.
+ 
+ 2026-01-19  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>
+ 
+ 	* config.gcc: Deprecate -m31.
+ 	* doc/invoke.texi: Deprecate -m31.
+ 
+ 2026-01-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/123656
+ 	* tree-vect-generic.cc (expand_vector_mult): Fix up alg_sub_factor
+ 	handling.  Fix up formatting in alg_add_t_m2 handling.
+ 
+ 2026-01-19  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR target/123603
+ 	* config/i386/i386.opt (-param=ix86-vect-compare-costs=): Add.
+ 	* config/i386/i386.cc (ix86_autovectorize_vector_modes): Honor it.
+ 	* doc/invoke.texi (ix86-vect-compare-costs): Document.
+ 
+ 2026-01-19  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	PR target/117575
+ 	* config/loongarch/lasx.md: Modify the range of operand1.
+ 
+ 2026-01-18  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/123645
+ 	* tree-ssa-phiopt.cc (cond_removal_in_builtin_zero_pattern): Rewrite
+ 	the canonicalization of the args code based on e1/e2 being edges into
+ 	the join block.
+ 
  2026-01-17  Sandra Loosemore  <sloosemore@baylibre.com>
  
  	* config/darwin.opt.urls: Regenerated.
diff -Nrcpad gcc-16-20260118/gcc/DATESTAMP gcc-16-20260125/gcc/DATESTAMP
*** gcc-16-20260118/gcc/DATESTAMP	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/DATESTAMP	Sun Jan 25 22:32:06 2026
***************
*** 1 ****
! 20260118
--- 1 ----
! 20260125
diff -Nrcpad gcc-16-20260118/gcc/ada/ChangeLog gcc-16-20260125/gcc/ada/ChangeLog
*** gcc-16-20260118/gcc/ada/ChangeLog	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/ada/ChangeLog	Sun Jan 25 22:32:06 2026
***************
*** 1,3 ****
--- 1,10 ----
+ 2026-01-21  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Replace call to
+ 	Scope_Within_Or_Same (Current_Scope, S) with In_Open_Scopes (S) to
+ 	test whether S is open in the current scope.
+ 	* sem_util.adb (From_Nested_Package): Likewise.
+ 
  2026-01-17  Eric Botcazou  <ebotcazou@adacore.com>
  	    Lisa Felidae  <lisa@felidae.bam.moe>
  
diff -Nrcpad gcc-16-20260118/gcc/ada/gcc-interface/lang.opt.urls gcc-16-20260125/gcc/ada/gcc-interface/lang.opt.urls
*** gcc-16-20260118/gcc/ada/gcc-interface/lang.opt.urls	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/ada/gcc-interface/lang.opt.urls	Sun Jan 25 22:32:06 2026
*************** nostdlib
*** 16,32 ****
  UrlSuffix(gcc/Link-Options.html#index-nostdlib)
  
  ; skipping UrlSuffix for 'fshort-enums' due to multiple URLs:
! ;   duplicate: 'gcc/Code-Gen-Options.html#index-fshort-enums'
  ;   duplicate: 'gcc/Non-bugs.html#index-fshort-enums-3'
  ;   duplicate: 'gcc/Structures-unions-enumerations-and-bit-fields-implementation.html#index-fshort-enums-1'
  fshort-enums
  LangUrlSuffix_Fortran(gfortran/Code-Gen-Options.html#index-fshort-enums)
  
  ; skipping UrlSuffix for 'fsigned-char' due to multiple URLs:
! ;   duplicate: 'gcc/C-Dialect-Options.html#index-fsigned-char'
  ;   duplicate: 'gcc/Characters-implementation.html#index-fsigned-char-1'
  
  ; skipping UrlSuffix for 'funsigned-char' due to multiple URLs:
! ;   duplicate: 'gcc/C-Dialect-Options.html#index-funsigned-char'
  ;   duplicate: 'gcc/Characters-implementation.html#index-funsigned-char-1'
  
--- 16,32 ----
  UrlSuffix(gcc/Link-Options.html#index-nostdlib)
  
  ; skipping UrlSuffix for 'fshort-enums' due to multiple URLs:
! ;   duplicate: 'gcc/Code-Gen-Options.html#index-fno-short-enums'
  ;   duplicate: 'gcc/Non-bugs.html#index-fshort-enums-3'
  ;   duplicate: 'gcc/Structures-unions-enumerations-and-bit-fields-implementation.html#index-fshort-enums-1'
  fshort-enums
  LangUrlSuffix_Fortran(gfortran/Code-Gen-Options.html#index-fshort-enums)
  
  ; skipping UrlSuffix for 'fsigned-char' due to multiple URLs:
! ;   duplicate: 'gcc/C-Dialect-Options.html#index-fno-signed-char'
  ;   duplicate: 'gcc/Characters-implementation.html#index-fsigned-char-1'
  
  ; skipping UrlSuffix for 'funsigned-char' due to multiple URLs:
! ;   duplicate: 'gcc/C-Dialect-Options.html#index-fno-unsigned-char'
  ;   duplicate: 'gcc/Characters-implementation.html#index-funsigned-char-1'
  
diff -Nrcpad gcc-16-20260118/gcc/ada/sem_ch13.adb gcc-16-20260125/gcc/ada/sem_ch13.adb
*** gcc-16-20260118/gcc/ada/sem_ch13.adb	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/ada/sem_ch13.adb	Sun Jan 25 22:32:06 2026
*************** package body Sem_Ch13 is
*** 1527,1535 ****
        --  at the ends of certain declaration lists (like visible-part lists),
        --  not when this procedure is called at arbitrary freeze points.
  
!       if not Nonoverridable_Only
!         and then not Scope_Within_Or_Same (Current_Scope, Scope (E))
!       then
           if Is_Type (E) and then From_Nested_Package (E) then
              declare
                 Pack : constant Entity_Id := Scope (E);
--- 1527,1533 ----
        --  at the ends of certain declaration lists (like visible-part lists),
        --  not when this procedure is called at arbitrary freeze points.
  
!       if not Nonoverridable_Only and then not In_Open_Scopes (Scope (E)) then
           if Is_Type (E) and then From_Nested_Package (E) then
              declare
                 Pack : constant Entity_Id := Scope (E);
diff -Nrcpad gcc-16-20260118/gcc/ada/sem_util.adb gcc-16-20260125/gcc/ada/sem_util.adb
*** gcc-16-20260118/gcc/ada/sem_util.adb	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/ada/sem_util.adb	Sun Jan 25 22:32:06 2026
*************** package body Sem_Util is
*** 9868,9874 ****
        return
          Ekind (Pack) = E_Package
            and then not Is_Frozen (Pack)
!           and then not Scope_Within_Or_Same (Current_Scope, Pack)
            and then In_Open_Scopes (Scope (Pack));
     end From_Nested_Package;
  
--- 9868,9874 ----
        return
          Ekind (Pack) = E_Package
            and then not Is_Frozen (Pack)
!           and then not In_Open_Scopes (Pack)
            and then In_Open_Scopes (Scope (Pack));
     end From_Nested_Package;
  
diff -Nrcpad gcc-16-20260118/gcc/algol68/ChangeLog gcc-16-20260125/gcc/algol68/ChangeLog
*** gcc-16-20260118/gcc/algol68/ChangeLog	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/ChangeLog	Sun Jan 25 22:32:06 2026
***************
*** 1,3 ****
--- 1,69 ----
+ 2026-01-24  Jose E. Marchesi  <jemarch@gnu.org>
+ 
+ 	PR algol68/123733
+ 	* README: Mention minimum version of libgc.
+ 
+ 2026-01-24  Jose E. Marchesi  <jemarch@gnu.org>
+ 
+ 	Revert:
+ 	2026-01-17  Jose E. Marchesi  <jemarch@gnu.org>
+ 
+ 	* a68-parser-prelude.cc (stand_prelude): Remove definitions for ^
+ 	operator.
+ 	* ga68.texi (Real operators): Remove entries for ^.
+ 	(Integral operators): Likewise.
+ 
+ 2026-01-24  Jose E. Marchesi  <jemarch@gnu.org>
+ 
+ 	PR algol68/123785
+ 	* a68-lang.cc (a68_init): Call a68_build_a68_type_nodes abefore
+ 	targetm.init_builtins.
+ 
+ 2026-01-22  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>
+ 
+ 	PR algol68/123734
+ 	* ga68.texi: Fix code examples to make them compilable.
+ 	And s/consists on/consists of/g.
+ 
+ 2026-01-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* lang.opt (std=algol68, std=gnu68): Add dot at the end of the
+ 	description.
+ 
+ 2026-01-20  Pietro Monteiro  <pietro@sociotechnical.xyz>
+ 
+ 	* a68-low-clauses.cc (a68_lower_collateral_clause): Update
+ 	call to a68_lower_alloca.
+ 	* a68-low-coercions.cc (a68_lower_widening): Likewise.
+ 	* a68-low-generator.cc (allocator_t): Adjust typedef.
+ 	(fill_in_buffer): Adjust call to allocator.
+ 	(gen_mode): Likewise.
+ 	* a68-low-multiples.cc (a68_row_malloc): Change type parameter to MOID_T
+ 	from tree. Adjust call to a68_lower_malloc.
+ 	* a68-low-posix.cc (a68_posix_fgets): Adjust call to a68_row_malloc.
+ 	(a68_posix_gets): Likewise.
+ 	* a68-low-runtime.def (MALLOC_LEAF): Add definition for
+ 	_libga68_malloc_leaf.
+ 	* a68-low-strings.cc (a68_string_concat): Adjust call to
+ 	a68_lower_malloc.
+ 	(a68_string_from_char): Likewise.
+ 	* a68-low-units.cc (a68_lower_slice): Likewise.
+ 	* a68-low.cc (a68_low_dup): Adjust calls to a68_lower_malloc
+ 	and a68_lower_alloca.
+ 	(a68_lower_alloca): Change type parameter to MOID_T from tree.
+ 	(a68_lower_malloc): Likewise. Use _libga68_malloc_leaf if the MOID_T
+ 	doesn't have refs, use _libga68_malloc otherwise.
+ 	* a68-parser-modes.cc (a68_create_mode): Set has_refs on the new mode.
+ 	(is_mode_has_refs): New function.
+ 	(compute_derived_modes): Set has_refs on the chain of modes.
+ 	* a68-parser.cc (a68_new_moid): Set has_refs to false by
+ 	default.
+ 	* a68-types.h (struct MOID_T): Add member `has_refs`.
+ 	(HAS_REFS): New macro.
+ 	* a68.h (a68_row_malloc): Update prototype.
+ 	(a68_lower_alloca): Likewise.
+ 	(a68_lower_malloc): Likewise.
+ 
  2026-01-17  Jose E. Marchesi  <jemarch@gnu.org>
  
  	* a68-parser-prelude.cc (stand_prelude): Remove definitions for ^
diff -Nrcpad gcc-16-20260118/gcc/algol68/README gcc-16-20260125/gcc/algol68/README
*** gcc-16-20260118/gcc/algol68/README	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/README	Sun Jan 25 22:32:06 2026
*************** The compiler proper is called `a681'.
*** 26,31 ****
--- 26,39 ----
  Programs built by this compiler make use of the libga68 run-time
  library.
  
+ Dependencies
+ ============
+ 
+ The Algol 68 run-time relies on the Boehm-Demers-Weiser conservative
+ garbage collector libgc, version 7.6.2 or later.  If for whatever
+ reason a recent enough of libgc is not available for some target then
+ you can configure GCC with --disable-algol68-gc.
+ 
  Building
  ========
  
diff -Nrcpad gcc-16-20260118/gcc/algol68/a68-lang.cc gcc-16-20260125/gcc/algol68/a68-lang.cc
*** gcc-16-20260118/gcc/algol68/a68-lang.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/a68-lang.cc	Sun Jan 25 22:32:06 2026
*************** static bool
*** 223,230 ****
  a68_init (void)
  {
    build_common_tree_nodes (false);
-   targetm.init_builtins ();
    a68_build_a68_type_nodes ();
    build_common_builtin_nodes ();
    a68_install_builtins ();
  
--- 223,230 ----
  a68_init (void)
  {
    build_common_tree_nodes (false);
    a68_build_a68_type_nodes ();
+   targetm.init_builtins ();
    build_common_builtin_nodes ();
    a68_install_builtins ();
  
diff -Nrcpad gcc-16-20260118/gcc/algol68/a68-low-clauses.cc gcc-16-20260125/gcc/algol68/a68-low-clauses.cc
*** gcc-16-20260118/gcc/algol68/a68-low-clauses.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/a68-low-clauses.cc	Sun Jan 25 22:32:06 2026
*************** a68_lower_collateral_clause (NODE_T *p A
*** 1246,1251 ****
--- 1246,1252 ----
  		  tree sub_multiple_elements = a68_multiple_elements (sub_multiple);
  		  tree elements_pointer_type = TREE_TYPE (sub_multiple_elements);
  		  tree elements_type = TREE_TYPE (elements_pointer_type);
+ 		  MOID_T *elements_moid = a68_type_moid (elements_type);
  		  multiple_elements_size = fold_build2 (MULT_EXPR, sizetype,
  							     size_int (num_units),
  							     size_in_bytes (elements_type));
*************** a68_lower_collateral_clause (NODE_T *p A
*** 1254,1260 ****
  							a68_multiple_num_elems (sub_multiple));
  		  multiple_elements = a68_lower_tmpvar ("multiple_elements%",
  							elements_pointer_type,
! 							a68_lower_alloca (elements_type,
  									  multiple_elements_size));
  
  		  /* We can also now calculate the bounds of the new multiple.
--- 1255,1261 ----
  							a68_multiple_num_elems (sub_multiple));
  		  multiple_elements = a68_lower_tmpvar ("multiple_elements%",
  							elements_pointer_type,
! 							a68_lower_alloca (elements_moid,
  									  multiple_elements_size));
  
  		  /* We can also now calculate the bounds of the new multiple.
diff -Nrcpad gcc-16-20260118/gcc/algol68/a68-low-coercions.cc gcc-16-20260125/gcc/algol68/a68-low-coercions.cc
*** gcc-16-20260118/gcc/algol68/a68-low-coercions.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/a68-low-coercions.cc	Sun Jan 25 22:32:06 2026
*************** a68_lower_widening (NODE_T *p, LOW_CTX_T
*** 350,356 ****
        /* First allocate space for the elements.  */
        tree elements = a68_lower_tmpvar ("elements%",
  					pointer_to_bool_type,
! 					a68_lower_alloca (a68_bool_type,
  							  fold_build2 (MULT_EXPR,
  								       sizetype,
  								       size_int (bits_size),
--- 350,356 ----
        /* First allocate space for the elements.  */
        tree elements = a68_lower_tmpvar ("elements%",
  					pointer_to_bool_type,
! 					a68_lower_alloca (M_BOOL,
  							  fold_build2 (MULT_EXPR,
  								       sizetype,
  								       size_int (bits_size),
diff -Nrcpad gcc-16-20260118/gcc/algol68/a68-low-generator.cc gcc-16-20260125/gcc/algol68/a68-low-generator.cc
*** gcc-16-20260118/gcc/algol68/a68-low-generator.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/a68-low-generator.cc	Sun Jan 25 22:32:06 2026
***************
*** 43,49 ****
  #include "a68.h"
  
  
! typedef tree (*allocator_t) (tree, tree);
  
  /* Lower to code that fill in BOUNDS and elements pointers in the given buffer
     pointed by BUFFER at offset OFFSET according to the mode MODE, and evals to
--- 43,49 ----
  #include "a68.h"
  
  
! typedef tree (*allocator_t) (MOID_T*, tree);
  
  /* Lower to code that fill in BOUNDS and elements pointers in the given buffer
     pointed by BUFFER at offset OFFSET according to the mode MODE, and evals to
*************** fill_in_buffer (tree buffer, tree offset
*** 205,211 ****
        MOID_T *elem_mode = SUB (m);
        tree elem_size = fold_convert (sizetype, size_in_bytes (CTYPE (elem_mode)));
        tree elems_size = save_expr (fold_build2 (MULT_EXPR, sizetype, elem_size, num_elems));
!       tree elemsptr = (*allocator) (CTYPE (elem_mode), elems_size);
        elemsptr = save_expr (elemsptr);
  
        /* And initialize them.  */
--- 205,211 ----
        MOID_T *elem_mode = SUB (m);
        tree elem_size = fold_convert (sizetype, size_in_bytes (CTYPE (elem_mode)));
        tree elems_size = save_expr (fold_build2 (MULT_EXPR, sizetype, elem_size, num_elems));
!       tree elemsptr = (*allocator) (elem_mode, elems_size);
        elemsptr = save_expr (elemsptr);
  
        /* And initialize them.  */
*************** static tree
*** 337,343 ****
  gen_mode (MOID_T *m, tree_stmt_iterator *bounds, allocator_t allocator)
  {
    /* Allocate space for the value and fill it.  */
!   tree buffer = (*allocator) (CTYPE (m), size_in_bytes (CTYPE (m)));
    buffer = save_expr (buffer);
    return fill_in_buffer (buffer, size_zero_node, bounds, m, allocator);
  }
--- 337,343 ----
  gen_mode (MOID_T *m, tree_stmt_iterator *bounds, allocator_t allocator)
  {
    /* Allocate space for the value and fill it.  */
!   tree buffer = (*allocator) (m, size_in_bytes (CTYPE (m)));
    buffer = save_expr (buffer);
    return fill_in_buffer (buffer, size_zero_node, bounds, m, allocator);
  }
diff -Nrcpad gcc-16-20260118/gcc/algol68/a68-low-multiples.cc gcc-16-20260125/gcc/algol68/a68-low-multiples.cc
*** gcc-16-20260118/gcc/algol68/a68-low-multiples.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/a68-low-multiples.cc	Sun Jan 25 22:32:06 2026
*************** a68_multiple_bounds_check_equal (NODE_T
*** 1074,1089 ****
     *LOWER_BOUND and *UPPER_BOUND are the bounds for the DIM dimensions.  */
  
  tree
! a68_row_malloc (tree type, int dim, tree elems, tree elems_size,
  		tree *lower_bound, tree *upper_bound)
  {
    tree ptr_to_type = build_pointer_type (type);
  
    a68_push_range (NULL);
  
    /* Allocate space for the descriptor.  */
    tree ptr_to_multiple = a68_lower_tmpvar ("ptr_to_multiple%", ptr_to_type,
! 					   a68_lower_malloc (type, size_in_bytes (type)));
    tree multiple = a68_row_value (type, dim,
  				 elems, elems_size,
  				 lower_bound, upper_bound);
--- 1074,1090 ----
     *LOWER_BOUND and *UPPER_BOUND are the bounds for the DIM dimensions.  */
  
  tree
! a68_row_malloc (MOID_T *m, int dim, tree elems, tree elems_size,
  		tree *lower_bound, tree *upper_bound)
  {
+   tree type = CTYPE (m);
    tree ptr_to_type = build_pointer_type (type);
  
    a68_push_range (NULL);
  
    /* Allocate space for the descriptor.  */
    tree ptr_to_multiple = a68_lower_tmpvar ("ptr_to_multiple%", ptr_to_type,
! 					   a68_lower_malloc (m, size_in_bytes (type)));
    tree multiple = a68_row_value (type, dim,
  				 elems, elems_size,
  				 lower_bound, upper_bound);
diff -Nrcpad gcc-16-20260118/gcc/algol68/a68-low-posix.cc gcc-16-20260125/gcc/algol68/a68-low-posix.cc
*** gcc-16-20260118/gcc/algol68/a68-low-posix.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/a68-low-posix.cc	Sun Jan 25 22:32:06 2026
*************** a68_posix_fgets (void)
*** 503,509 ****
        tree upper_bound = fold_convert (ssizetype, len);
        tree elems_size = fold_build2 (MULT_EXPR, sizetype,
  				     len, size_in_bytes (a68_char_type));
!       tree body = a68_row_malloc (CTYPE (M_STRING), 1 /* dim */,
  				  elems, elems_size,
  				  &lower_bound, &upper_bound);
        a68_pop_function_range (body);
--- 503,509 ----
        tree upper_bound = fold_convert (ssizetype, len);
        tree elems_size = fold_build2 (MULT_EXPR, sizetype,
  				     len, size_in_bytes (a68_char_type));
!       tree body = a68_row_malloc (M_STRING, 1 /* dim */,
  				  elems, elems_size,
  				  &lower_bound, &upper_bound);
        a68_pop_function_range (body);
*************** a68_posix_gets (void)
*** 545,551 ****
        tree upper_bound = fold_convert (ssizetype, len);
        tree elems_size = fold_build2 (MULT_EXPR, sizetype,
  				     len, size_in_bytes (a68_char_type));
!       tree body = a68_row_malloc (CTYPE (M_STRING), 1 /* dim */,
  				  elems, elems_size,
  				  &lower_bound, &upper_bound);
        a68_pop_function_range (body);
--- 545,551 ----
        tree upper_bound = fold_convert (ssizetype, len);
        tree elems_size = fold_build2 (MULT_EXPR, sizetype,
  				     len, size_in_bytes (a68_char_type));
!       tree body = a68_row_malloc (M_STRING, 1 /* dim */,
  				  elems, elems_size,
  				  &lower_bound, &upper_bound);
        a68_pop_function_range (body);
diff -Nrcpad gcc-16-20260118/gcc/algol68/a68-low-runtime.def gcc-16-20260125/gcc/algol68/a68-low-runtime.def
*** gcc-16-20260118/gcc/algol68/a68-low-runtime.def	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/a68-low-runtime.def	Sun Jan 25 22:32:06 2026
*************** along with GCC; see the file COPYING3.
*** 43,48 ****
--- 43,49 ----
  
  DEF_A68_RUNTIME (ASSERT, "_libga68_assert", RT(VOID), P2(CONSTCHARPTR, UINT), ECF_NORETURN)
  DEF_A68_RUNTIME (MALLOC, "_libga68_malloc", RT(VOIDPTR), P1(SIZE), ECF_NOTHROW | ECF_LEAF | ECF_MALLOC)
+ DEF_A68_RUNTIME (MALLOC_LEAF, "_libga68_malloc_leaf", RT(VOIDPTR), P1(SIZE), ECF_NOTHROW | ECF_LEAF | ECF_MALLOC)
  DEF_A68_RUNTIME (DEREFNIL, "_libga68_derefnil", RT(VOID), P2(CONSTCHARPTR, UINT), ECF_NORETURN)
  DEF_A68_RUNTIME (UNREACHABLE, "_libga68_unreachable", RT(VOID), P2(CONSTCHARPTR, UINT), ECF_NORETURN)
  DEF_A68_RUNTIME (INVALIDCHARERROR, "_libga68_invalidcharerror", RT(VOID), P3(CONSTCHARPTR,UINT,INT), ECF_NORETURN)
diff -Nrcpad gcc-16-20260118/gcc/algol68/a68-low-strings.cc gcc-16-20260125/gcc/algol68/a68-low-strings.cc
*** gcc-16-20260118/gcc/algol68/a68-low-strings.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/a68-low-strings.cc	Sun Jan 25 22:32:06 2026
*************** a68_string_concat (tree str1, tree str2)
*** 149,155 ****
  					size_in_bytes (a68_char_type),
  					num_elems);
        tree elements = a68_lower_tmpvar ("elements%", char_pointer_type,
! 					a68_lower_malloc (a68_char_type, elements_size));
  
        /* Copy elements.  */
        tree to_index = a68_lower_tmpvar ("to_index%", sizetype, size_zero_node);
--- 149,155 ----
  					size_in_bytes (a68_char_type),
  					num_elems);
        tree elements = a68_lower_tmpvar ("elements%", char_pointer_type,
! 					a68_lower_malloc (M_CHAR, elements_size));
  
        /* Copy elements.  */
        tree to_index = a68_lower_tmpvar ("to_index%", sizetype, size_zero_node);
*************** a68_string_from_char (tree c)
*** 234,240 ****
    a68_push_range (M_STRING);
  
    tree elements = a68_lower_tmpvar ("elements%", char_pointer_type,
! 				    a68_lower_malloc (a68_char_type,
  						      size_one_node));
    a68_add_stmt (fold_build2 (MODIFY_EXPR,
  			     void_type_node,
--- 234,240 ----
    a68_push_range (M_STRING);
  
    tree elements = a68_lower_tmpvar ("elements%", char_pointer_type,
! 				    a68_lower_malloc (M_CHAR,
  						      size_one_node));
    a68_add_stmt (fold_build2 (MODIFY_EXPR,
  			     void_type_node,
diff -Nrcpad gcc-16-20260118/gcc/algol68/a68-low-units.cc gcc-16-20260125/gcc/algol68/a68-low-units.cc
*** gcc-16-20260118/gcc/algol68/a68-low-units.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/a68-low-units.cc	Sun Jan 25 22:32:06 2026
*************** a68_lower_slice (NODE_T *p, LOW_CTX_T ct
*** 778,784 ****
  	{
  	  tree ptrtype = CTYPE (orig_sliced_multiple_mode);
  	  tree slice_addr = fold_build1 (ADDR_EXPR, ptrtype, slice);
! 	  tree alloc = a68_lower_malloc (ptrtype, size_in_bytes (TREE_TYPE (slice)));
  	  alloc = save_expr (alloc);
  	  tree copy = a68_lower_memcpy (alloc, slice_addr, size_in_bytes (TREE_TYPE (slice)));
  
--- 778,784 ----
  	{
  	  tree ptrtype = CTYPE (orig_sliced_multiple_mode);
  	  tree slice_addr = fold_build1 (ADDR_EXPR, ptrtype, slice);
! 	  tree alloc = a68_lower_malloc (orig_sliced_multiple_mode, size_in_bytes (TREE_TYPE (slice)));
  	  alloc = save_expr (alloc);
  	  tree copy = a68_lower_memcpy (alloc, slice_addr, size_in_bytes (TREE_TYPE (slice)));
  
diff -Nrcpad gcc-16-20260118/gcc/algol68/a68-low.cc gcc-16-20260125/gcc/algol68/a68-low.cc
*** gcc-16-20260118/gcc/algol68/a68-low.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/a68-low.cc	Sun Jan 25 22:32:06 2026
*************** a68_low_dup (tree expr, bool use_heap)
*** 741,752 ****
        tree element_pointer_type = TREE_TYPE (elements);
        tree element_type = TREE_TYPE (element_pointer_type);
        tree new_elements_size = save_expr (a68_multiple_elements_size (expr));
        tree new_elements = a68_lower_tmpvar ("new_elements%",
  					    TREE_TYPE (elements),
  					    (use_heap
! 					     ? a68_lower_malloc (TREE_TYPE (TREE_TYPE (elements)),
  								 new_elements_size)
! 					     : a68_lower_alloca (TREE_TYPE (TREE_TYPE (elements)),
  								 new_elements_size)));
  
        /* Then copy the elements.
--- 741,754 ----
        tree element_pointer_type = TREE_TYPE (elements);
        tree element_type = TREE_TYPE (element_pointer_type);
        tree new_elements_size = save_expr (a68_multiple_elements_size (expr));
+       tree new_elements_type = TREE_TYPE (TREE_TYPE (elements));
+       MOID_T *new_elements_moid = a68_type_moid (new_elements_type);
        tree new_elements = a68_lower_tmpvar ("new_elements%",
  					    TREE_TYPE (elements),
  					    (use_heap
! 					     ? a68_lower_malloc (new_elements_moid,
  								 new_elements_size)
! 					     : a68_lower_alloca (new_elements_moid,
  								 new_elements_size)));
  
        /* Then copy the elements.
*************** a68_lower_memcpy (tree dst, tree src, tr
*** 1110,1117 ****
     pointer to it.  */
  
  tree
! a68_lower_alloca (tree type, tree size)
  {
    tree call = builtin_decl_explicit (BUILT_IN_ALLOCA_WITH_ALIGN);
    call = build_call_expr_loc (UNKNOWN_LOCATION, call, 2,
  			      size,
--- 1112,1120 ----
     pointer to it.  */
  
  tree
! a68_lower_alloca (MOID_T *m, tree size)
  {
+   tree type = CTYPE (m);
    tree call = builtin_decl_explicit (BUILT_IN_ALLOCA_WITH_ALIGN);
    call = build_call_expr_loc (UNKNOWN_LOCATION, call, 2,
  			      size,
*************** a68_lower_alloca (tree type, tree size)
*** 1121,1134 ****
  }
  
  
! /* Build a tree that allocates SIZE bytes on the heap and returns a *TYPE
!    pointer to it.  */
  
  tree
! a68_lower_malloc (tree type, tree size)
  {
    return fold_convert (build_pointer_type (type),
! 		       a68_build_libcall (A68_LIBCALL_MALLOC, ptr_type_node,
  					  1, size));
  }
  
--- 1124,1140 ----
  }
  
  
! /* Build a tree that allocates SIZE bytes on the heap and returns a pointer to
!    a tree with type equivalent to mode M.  */
  
  tree
! a68_lower_malloc (MOID_T *m, tree size)
  {
+   tree type = CTYPE (m);
+   a68_libcall_fn libcall
+     = (HAS_REFS (m) || HAS_ROWS (m)) ? A68_LIBCALL_MALLOC : A68_LIBCALL_MALLOC_LEAF;
    return fold_convert (build_pointer_type (type),
! 		       a68_build_libcall (libcall, ptr_type_node,
  					  1, size));
  }
  
diff -Nrcpad gcc-16-20260118/gcc/algol68/a68-parser-modes.cc gcc-16-20260125/gcc/algol68/a68-parser-modes.cc
*** gcc-16-20260118/gcc/algol68/a68-parser-modes.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/a68-parser-modes.cc	Sun Jan 25 22:32:06 2026
*************** a68_create_mode (int att, int dim, NODE_
*** 175,180 ****
--- 175,181 ----
    DIM (new_mode) = dim;
    NODE (new_mode) = node;
    HAS_ROWS (new_mode) = (att == ROW_SYMBOL);
+   HAS_REFS (new_mode) = (att == REF_SYMBOL);
    SUB (new_mode) = sub;
    PACK (new_mode) = pack;
    NEXT (new_mode) = NO_MOID;
*************** is_mode_has_row (MOID_T *m)
*** 1033,1038 ****
--- 1034,1063 ----
      return (HAS_ROWS (m) || IS_ROW (m) || IS_FLEX (m));
  }
  
+ /* Whether mode has ref.  */
+ 
+ static bool
+ is_mode_has_refs (MOID_T *m)
+ {
+   if (IS_ROW (m) || IS_FLEX (m))
+     {
+       HAS_REFS (m) = is_mode_has_refs (SUB (m));
+       return HAS_REFS (m);
+     }
+   else if (IS_STRUCT (m) || IS_UNION (m))
+     {
+       bool has_refs = false;
+       for (PACK_T *p = PACK (m); p != NO_PACK; FORWARD (p))
+ 	{
+ 	  HAS_REFS (MOID (p)) = is_mode_has_refs (MOID (p));
+ 	  has_refs |= HAS_REFS (MOID (p));
+ 	}
+       return has_refs;
+     }
+   else
+     return HAS_REFS (m);
+ }
+ 
  /* Compute derived modes.  */
  
  static void
*************** compute_derived_modes (MODULE_T *mod)
*** 1181,1189 ****
  
    gcc_assert (M_STRING == M_FLEX_ROW_CHAR);
  
!   /* Find out what modes contain rows.  */
    for (z = TOP_MOID (mod); z != NO_MOID; FORWARD (z))
!     HAS_ROWS (z) = is_mode_has_row (z);
  
    /* Check flexible modes.  */
    for (z = TOP_MOID (mod); z != NO_MOID; FORWARD (z))
--- 1206,1217 ----
  
    gcc_assert (M_STRING == M_FLEX_ROW_CHAR);
  
!   /* Find out what modes contain rows, and refs.  */
    for (z = TOP_MOID (mod); z != NO_MOID; FORWARD (z))
!     {
!       HAS_ROWS (z) = is_mode_has_row (z);
!       HAS_REFS (z) = is_mode_has_refs (z);
!     }
  
    /* Check flexible modes.  */
    for (z = TOP_MOID (mod); z != NO_MOID; FORWARD (z))
diff -Nrcpad gcc-16-20260118/gcc/algol68/a68-parser-prelude.cc gcc-16-20260125/gcc/algol68/a68-parser-prelude.cc
*** gcc-16-20260118/gcc/algol68/a68-parser-prelude.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/a68-parser-prelude.cc	Sun Jan 25 22:32:06 2026
*************** stand_prelude (void)
*** 518,523 ****
--- 518,524 ----
    a68_prio ("SHR", 8);
    a68_prio ("UP", 8);
    a68_prio ("DOWN", 8);
+   a68_prio ("^", 8);
    a68_prio ("LWB", 8);
    a68_prio ("UPB", 8);
    a68_prio ("I", 9);
*************** stand_prelude (void)
*** 633,638 ****
--- 634,640 ----
    a68_op (A68_STD, "/=", m, a68_lower_int_ne3);
    m = a68_proc (M_SHORT_SHORT_INT, M_SHORT_SHORT_INT, M_INT, NO_MOID);
    a68_op (A68_STD, "**", m, a68_lower_pow_int);
+   a68_op (A68_STD, "^", m, a68_lower_pow_int);
    /* SHORT INT operators.  */
    m = a68_proc (M_SHORT_INT, M_SHORT_INT, NO_MOID);
    a68_op (A68_STD, "+", m, a68_lower_confirm2);
*************** stand_prelude (void)
*** 679,684 ****
--- 681,687 ----
    a68_op (A68_STD, "GE", m, a68_lower_int_ge3);
    m = a68_proc (M_SHORT_INT, M_SHORT_INT, M_INT, NO_MOID);
    a68_op (A68_STD, "**", m, a68_lower_pow_int);
+   a68_op (A68_STD, "^", m, a68_lower_pow_int);
    /* INT operators. */
    m = a68_proc (M_INT, M_INT, NO_MOID);
    a68_op (A68_STD, "+", m, a68_lower_confirm2);
*************** stand_prelude (void)
*** 713,718 ****
--- 716,722 ----
    a68_op (A68_STD, "MOD", m, a68_lower_mod3);
    a68_op (A68_STD, "%*", m, a68_lower_mod3);
    a68_op (A68_STD, "**", m, a68_lower_pow_int);
+   a68_op (A68_STD, "^", m, a68_lower_pow_int);
    m = a68_proc (M_REAL, M_INT, M_INT, NO_MOID);
    a68_op (A68_STD, "/", m, a68_lower_rdiv3);
    m = a68_proc (M_REF_INT, M_REF_INT, M_INT, NO_MOID);
*************** stand_prelude (void)
*** 774,779 ****
--- 778,784 ----
    a68_op (A68_STD, "/", m, a68_lower_rdiv3);
    m = a68_proc (M_LONG_INT, M_LONG_INT, M_INT, NO_MOID);
    a68_op (A68_STD, "**", m, a68_lower_pow_int);
+   a68_op (A68_STD, "^", m, a68_lower_pow_int);
    /* LONG LONG INT operators. */
    m = a68_proc (M_LONG_LONG_INT, M_LONG_LONG_INT, NO_MOID);
    a68_op (A68_STD, "+", m, a68_lower_confirm2);
*************** stand_prelude (void)
*** 821,826 ****
--- 826,832 ----
    a68_op (A68_STD, "/=", m, a68_lower_int_ne3);
    m = a68_proc (M_LONG_LONG_INT, M_LONG_LONG_INT, M_INT, NO_MOID);
    a68_op (A68_STD, "**", m, a68_lower_pow_int);
+   a68_op (A68_STD, "^", m, a68_lower_pow_int);
    /* SHORT SHORT BITS operators  */
    m = a68_proc (M_BOOL, M_SHORT_SHORT_BITS, M_SHORT_SHORT_BITS, NO_MOID);
    a68_op (A68_STD, "=", m, a68_lower_bit_eq3);
*************** stand_prelude (void)
*** 1000,1007 ****
--- 1006,1015 ----
    a68_op (A68_STD, "*", m, a68_lower_mult_real);
    a68_op (A68_STD, "/", m, a68_lower_div3);
    a68_op (A68_STD, "**", m, a68_lower_pow_real);
+   a68_op (A68_STD, "^", m, a68_lower_pow_real);
    m = a68_proc (M_REAL, M_REAL, M_INT, NO_MOID);
    a68_op (A68_STD, "**", m, a68_lower_pow_real);
+   a68_op (A68_STD, "^", m, a68_lower_pow_real);
    m = a68_proc (M_REF_REAL, M_REF_REAL, M_REAL, NO_MOID);
    a68_op (A68_STD, "+:=", m, a68_lower_plusab3);
    a68_op (A68_STD, "-:=", m, a68_lower_minusab3);
*************** stand_prelude (void)
*** 1033,1038 ****
--- 1041,1047 ----
    a68_op (A68_STD, "*", m, a68_lower_mult_real);
    a68_op (A68_STD, "/", m, a68_lower_div3);
    a68_op (A68_STD, "**", m, a68_lower_pow_real);
+   a68_op (A68_STD, "^", m, a68_lower_pow_real);
    m = a68_proc (M_REF_LONG_REAL, M_REF_LONG_REAL, M_LONG_REAL, NO_MOID);
    a68_op (A68_STD, "+:=", m, a68_lower_plusab3);
    a68_op (A68_STD, "-:=", m, a68_lower_minusab3);
*************** stand_prelude (void)
*** 1057,1062 ****
--- 1066,1072 ----
    a68_op (A68_STD, "GE", m, a68_lower_real_ge3);
    m = a68_proc (M_LONG_REAL, M_LONG_REAL, M_INT, NO_MOID);
    a68_op (A68_STD, "**", m, a68_lower_pow_real);
+   a68_op (A68_STD, "^", m, a68_lower_pow_real);
    /* LONG LONG REAL operators. */
    m = a68_proc (M_LONG_REAL, M_LONG_LONG_REAL, NO_MOID);
    a68_op (A68_STD, "SHORTEN", m, a68_lower_shortenreal2);
*************** stand_prelude (void)
*** 1075,1080 ****
--- 1085,1091 ----
    a68_op (A68_STD, "*", m, a68_lower_mult_real);
    a68_op (A68_STD, "/", m, a68_lower_div3);
    a68_op (A68_STD, "**", m, a68_lower_pow_real);
+   a68_op (A68_STD, "^", m, a68_lower_pow_real);
    m = a68_proc (M_REF_LONG_LONG_REAL, M_REF_LONG_LONG_REAL, M_LONG_LONG_REAL, NO_MOID);
    a68_op (A68_STD, "+:=", m, a68_lower_plusab3);
    a68_op (A68_STD, "-:=", m, a68_lower_minusab3);
*************** stand_prelude (void)
*** 1099,1104 ****
--- 1110,1116 ----
    a68_op (A68_STD, "GE", m, a68_lower_real_ge3);
    m = a68_proc (M_LONG_LONG_REAL, M_LONG_LONG_REAL, M_INT, NO_MOID);
    a68_op (A68_STD, "**", m, a68_lower_pow_real);
+   a68_op (A68_STD, "^", m, a68_lower_pow_real);
    /* ROWS operators.  */
    m = a68_proc (M_INT, M_ROWS, NO_MOID);
    a68_op (A68_STD, "LWB", m, a68_lower_lwb2);
*************** stand_prelude (void)
*** 1184,1189 ****
--- 1196,1203 ----
    a68_op (A68_STD, "/", m);
    m = a68_proc (M_COMPLEX, M_COMPLEX, M_INT, NO_MOID);
    a68_op (A68_STD, "**", m);
+   a68_op (A68_STD, "UP", m);
+   a68_op (A68_STD, "^", m);
    m = a68_proc (M_REF_COMPLEX, M_REF_COMPLEX, M_COMPLEX, NO_MOID);
    a68_op (A68_STD, "+:=", m);
    a68_op (A68_STD, "-:=", m);
*************** stand_prelude (void)
*** 1226,1231 ****
--- 1240,1247 ----
    a68_op (A68_STD, "/", m);
    m = a68_proc (M_LONG_COMPLEX, M_LONG_COMPLEX, M_INT, NO_MOID);
    a68_op (A68_STD, "**", m);
+   a68_op (A68_STD, "UP", m);
+   a68_op (A68_STD, "^", m);
    m = a68_proc (M_BOOL, M_LONG_COMPLEX, M_LONG_COMPLEX, NO_MOID);
    a68_op (A68_STD, "=", m);
    a68_op (A68_STD, "EQ", m);
*************** stand_prelude (void)
*** 1263,1268 ****
--- 1279,1286 ----
    a68_op (A68_STD, "/", m);
    m = a68_proc (M_LONG_LONG_COMPLEX, M_LONG_LONG_COMPLEX, M_INT, NO_MOID);
    a68_op (A68_STD, "**", m);
+   a68_op (A68_STD, "UP", m);
+   a68_op (A68_STD, "^", m);
    m = a68_proc (M_BOOL, M_LONG_LONG_COMPLEX, M_LONG_LONG_COMPLEX, NO_MOID);
    a68_op (A68_STD, "=", m);
    a68_op (A68_STD, "EQ", m);
diff -Nrcpad gcc-16-20260118/gcc/algol68/a68-parser.cc gcc-16-20260125/gcc/algol68/a68-parser.cc
*** gcc-16-20260118/gcc/algol68/a68-parser.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/a68-parser.cc	Sun Jan 25 22:32:06 2026
*************** a68_new_moid (void)
*** 726,731 ****
--- 726,732 ----
    DIM (z) = 0;
    USE (z) = false;
    HAS_ROWS (z) = false;
+   HAS_REFS (z) = false;
    PORTABLE (z) = true;
    DERIVATE (z) = false;
    NODE (z) = NO_NODE;
diff -Nrcpad gcc-16-20260118/gcc/algol68/a68-types.h gcc-16-20260125/gcc/algol68/a68-types.h
*** gcc-16-20260118/gcc/algol68/a68-types.h	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/a68-types.h	Sun Jan 25 22:32:06 2026
*************** struct GTY((chain_next ("%h.more"), chai
*** 187,192 ****
--- 187,195 ----
     HAS_ROWS is true if the mode contains rows somewhere in its internal
     structure.
  
+    HAS_REFS is true if the mode contains refs somewhere in its internal
+    structure.
+ 
     The interpretation of SUB depends on the kind of mode:
     - For REF modes it is the referred mode.
     - For FLEX modes it is the referred mode.
*************** struct GTY((chain_next ("%h.next"))) MOI
*** 244,250 ****
    int number;
    int attribute;
    int dim;
!   bool has_rows, use, portable, derivate;
    NODE_T *node;
    PACK_T *pack;
    MOID_T *sub, *equivalent_mode, *slice, *deflexed_mode, *name, *multiple_mode, *next, *rowed, *trim;
--- 247,253 ----
    int number;
    int attribute;
    int dim;
!   bool has_rows, has_refs, use, portable, derivate;
    NODE_T *node;
    PACK_T *pack;
    MOID_T *sub, *equivalent_mode, *slice, *deflexed_mode, *name, *multiple_mode, *next, *rowed, *trim;
*************** struct GTY(()) A68_T
*** 950,955 ****
--- 953,959 ----
  #define GREEN(p) ((p)->green)
  #define H(p) ((p)->h)
  #define HANDLE(p) ((p)->handle)
+ #define HAS_REFS(p) ((p)->has_refs)
  #define HAS_ROWS(p) ((p)->has_rows)
  #define HEAP(p) ((p)->heap)
  #define ID(p) ((p)->id)
diff -Nrcpad gcc-16-20260118/gcc/algol68/a68.h gcc-16-20260125/gcc/algol68/a68.h
*** gcc-16-20260118/gcc/algol68/a68.h	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/a68.h	Sun Jan 25 22:32:06 2026
*************** tree a68_row_value (tree type, size_t di
*** 699,707 ****
  		    tree *lower_bound, tree *upper_bound);
  tree a68_row_value_raw (tree type, tree descriptor,
  			tree elements, tree elements_size);
! tree a68_row_malloc (tree type, int dim,
  		    tree elements, tree elements_size,
! 		    tree *lower_bound, tree *upper_bound);		     
  tree a68_multiple_slice (NODE_T *p, tree multiple, bool slicing_name,
  			 int num_indexes, tree *indexes);
  tree a68_multiple_copy_elems (MOID_T *to_mode, tree to, tree from);
--- 699,707 ----
  		    tree *lower_bound, tree *upper_bound);
  tree a68_row_value_raw (tree type, tree descriptor,
  			tree elements, tree elements_size);
! tree a68_row_malloc (MOID_T *m, int dim,
  		    tree elements, tree elements_size,
! 		    tree *lower_bound, tree *upper_bound);
  tree a68_multiple_slice (NODE_T *p, tree multiple, bool slicing_name,
  			 int num_indexes, tree *indexes);
  tree a68_multiple_copy_elems (MOID_T *to_mode, tree to, tree from);
*************** tree a68_get_skip_tree (MOID_T *m);
*** 815,822 ****
  tree a68_get_empty (void);
  void a68_ref_counts (tree exp, MOID_T *m, int *num_refs, int *num_pointers);
  tree a68_consolidate_ref (MOID_T *m, tree expr);
! tree a68_lower_alloca (tree type, tree size);
! tree a68_lower_malloc (tree type, tree size);
  tree a68_checked_indirect_ref (NODE_T *p, tree exp, MOID_T *exp_mode);
  tree a68_low_deref (tree exp, NODE_T *p);
  tree a68_low_dup (tree exp, bool use_heap = false);
--- 815,822 ----
  tree a68_get_empty (void);
  void a68_ref_counts (tree exp, MOID_T *m, int *num_refs, int *num_pointers);
  tree a68_consolidate_ref (MOID_T *m, tree expr);
! tree a68_lower_alloca (MOID_T *m, tree size);
! tree a68_lower_malloc (MOID_T *m, tree size);
  tree a68_checked_indirect_ref (NODE_T *p, tree exp, MOID_T *exp_mode);
  tree a68_low_deref (tree exp, NODE_T *p);
  tree a68_low_dup (tree exp, bool use_heap = false);
diff -Nrcpad gcc-16-20260118/gcc/algol68/ga68.texi gcc-16-20260125/gcc/algol68/ga68.texi
*** gcc-16-20260118/gcc/algol68/ga68.texi	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/ga68.texi	Sun Jan 25 22:32:06 2026
*************** a very simple logging facility:
*** 514,522 ****
      @B{pub} @B{proc} log = (@B{string} msg) @B{void}:
             fputs (fd, (originator /= "" | ": ") + msg + "'n");
  
!     log ("beginning of log'n");
  @B{postlude}
!     log ("end of log'n");
  @B{fed}
  @end example
  
--- 514,522 ----
      @B{pub} @B{proc} log = (@B{string} msg) @B{void}:
             fputs (fd, (originator /= "" | ": ") + msg + "'n");
  
!     log ("beginning of log'n")
  @B{postlude}
!     log ("end of log'n")
  @B{fed}
  @end example
  
*************** indicators are bold tags.
*** 527,533 ****
  
  The @dfn{prelude} of the module spans from @code{@B{def}} to either
  @code{@B{postlude}}, or to @code{@B{fed}} in case of modules not
! featuring a postlude.  It consists on a restricted serial clause in a
  void strong context, which can contain units and declarations, but no
  labels or completers.  The declarations in the prelude may be either
  publicized or no publicized.  As we shall see, publicized indicators
--- 527,533 ----
  
  The @dfn{prelude} of the module spans from @code{@B{def}} to either
  @code{@B{postlude}}, or to @code{@B{fed}} in case of modules not
! featuring a postlude.  It consists of a restricted serial clause in a
  void strong context, which can contain units and declarations, but no
  labels or completers.  The declarations in the prelude may be either
  publicized or no publicized.  As we shall see, publicized indicators
*************** are accessible within the reach of the d
*** 535,541 ****
  them.  Publicized declarations are marked by preceding them with
  @code{@B{pub}}.
  
! In our example the module prelude consists on three declarations and
  one unit.  The tag @code{fd} is not publicized and is to be used
  internally by the module.  The indicators @code{originator} and
  @code{log}, on the other hand, are publicized and conform the
--- 535,541 ----
  them.  Publicized declarations are marked by preceding them with
  @code{@B{pub}}.
  
! In our example the module prelude consists of three declarations and
  one unit.  The tag @code{fd} is not publicized and is to be used
  internally by the module.  The indicators @code{originator} and
  @code{log}, on the other hand, are publicized and conform the
*************** covers the postlude: the @code{log} proc
*** 544,550 ****
  it would be @code{fd} as well.
  
  The @dfn{postlude} of the module is optional and spans from
! @code{@B{postlude}} to @code{@B{fed}}.  It consists on a serial clause
  in a @code{@B{void}} strong context, where definitions, labels and
  module accesses are not allowed, just units.
  
--- 544,550 ----
  it would be @code{fd} as well.
  
  The @dfn{postlude} of the module is optional and spans from
! @code{@B{postlude}} to @code{@B{fed}}.  It consists of a serial clause
  in a @code{@B{void}} strong context, where definitions, labels and
  module accesses are not allowed, just units.
  
*************** program that reads an input file and wri
*** 562,575 ****
  
  @example
  @B{access} @B{Logger}
! @B{begin} # Identify ourselves with the program name #
        originator := argv (1);
  
!       # Read input file.  #
        @B{if} @B{NOT} parse_input (argv (2))
        @B{then} log ("error parsing input file"); stop @B{fi};
  
!       # Write output file.  #
        @B{if} @B{NOT} write_output (argv (3))
        @B{then} log ("error writing output file"); stop @B{fi};
  
--- 562,575 ----
  
  @example
  @B{access} @B{Logger}
! @B{begin} @{ Identify ourselves with the program name @}
        originator := argv (1);
  
!       @{ Read input file.  @}
        @B{if} @B{NOT} parse_input (argv (2))
        @B{then} log ("error parsing input file"); stop @B{fi};
  
!       @{ Write output file.  @}
        @B{if} @B{NOT} write_output (argv (3))
        @B{then} log ("error writing output file"); stop @B{fi};
  
*************** JSON objects rather than raw strings.  W
*** 691,699 ****
                fputs (fd, json_array (json_string (originator),
                                       json_string (msg)));
  
!        log (json_string ("beginning of log'n"));
     @B{postlude}
!        log (json_string ("end of log'n"));
     @B{fed}
  @end example
  
--- 691,699 ----
                fputs (fd, json_array (json_string (originator),
                                       json_string (msg)));
  
!        log (json_string ("beginning of log'n"))
     @B{postlude}
!        log (json_string ("end of log'n"))
     @B{fed}
  @end example
  
*************** need to add support for it in the defini
*** 799,807 ****
         @B{pub} @B{proc} log = (@B{string} msg) @B{void}:
                fputs (fd, (originator[orig] /= "" | ": ") + msg + "'n");
  
!        log ("beginning of log'n");
     @B{postlude}
!        log ("end of log'n");
     @B{fed}
  @end example
  
--- 799,807 ----
         @B{pub} @B{proc} log = (@B{string} msg) @B{void}:
                fputs (fd, (originator[orig] /= "" | ": ") + msg + "'n");
  
!        log ("beginning of log'n")
     @B{postlude}
!        log ("end of log'n")
     @B{fed}
  @end example
  
*************** sketch of such a file may look like this
*** 861,866 ****
--- 861,868 ----
         (a + 1 | dontknow, no, yes);
  
      @B{C} ... other definitions ... @B{C}
+ 
+     @B{skip}
  @B{fed}
  @end example
  
*************** XXX
*** 999,1005 ****
  @section Particular programs
  @cindex particular program
  
! An Algol 68 @dfn{particular program} consists on an enclosed clause in
  a strong context with target mode @code{@B{void}}, possibly preceded
  by a set of zero or more labels.  For example:
  
--- 1001,1007 ----
  @section Particular programs
  @cindex particular program
  
! An Algol 68 @dfn{particular program} consists of an enclosed clause in
  a strong context with target mode @code{@B{void}}, possibly preceded
  by a set of zero or more labels.  For example:
  
*************** program to specify an explicit exit stat
*** 1035,1041 ****
  procedure @code{posix exit}, like:
  
  @example
! @b{begin} # ... program code ... #
       @B{if} error found;
       @B{then} posix exit (1) @B{fi}
  @b{end}
--- 1037,1043 ----
  procedure @code{posix exit}, like:
  
  @example
! @b{begin} @{ ... program code ... @}
       @B{if} error found;
       @B{then} posix exit (1) @B{fi}
  @b{end}
*************** the form of pseudo code:
*** 1094,1100 ****
  @end example
  
  @noindent
! Where each user task consists on:
  
  @example
  (@B{c} particular-prelude @B{c};
--- 1096,1102 ----
  @end example
  
  @noindent
! Where each user task consists of:
  
  @example
  (@B{c} particular-prelude @B{c};
*************** target.
*** 2099,2104 ****
--- 2101,2107 ----
  @item @code{@B{shl}}, @code{@B{up}}
  @item @code{@B{shr}}, @code{@B{down}}
  @item @code{@B{up}}, @code{@B{down}}
+ @item @code{^}
  @item @code{@B{lwb}}
  @item @code{@B{upb}}
  @end itemize
*************** Dyadic operator that yields the integer
*** 2231,2236 ****
--- 2234,2240 ----
  @end deftypefn
  
  @deftypefn Operator {} {**} {= (@B{l} @B{int} a, b) @B{l} @B{int}}
+ @deftypefnx Operator {} {^} {= (@B{l} @B{int} a, b) @B{l} @B{int}}
  Dyadic operator that yields @code{a} raised to the exponent @code{b}.
  @end deftypefn
  
*************** Dyadic operator that yields the realeger
*** 2364,2373 ****
--- 2368,2379 ----
  @end deftypefn
  
  @deftypefn Operator {} {**} {= (@B{l} @B{real} a, b) @B{l} @B{real}}
+ @deftypefnx Operator {} {^} {= (@B{l} @B{real} a, b) @B{l} @B{real}}
  Dyadic operator that yields @code{a} raised to the real exponent @code{b}.
  @end deftypefn
  
  @deftypefn Operator {} {**} {= (@B{l} @B{real} a, @B{int} b) @B{l} @B{real}}
+ @deftypefnx Operator {} {^} {= (@B{l} @B{real} a, @B{int} b) @B{l} @B{real}}
  Dyadic operator that yields @code{a} raised to the integral exponent
  @code{b}.
  @end deftypefn
*************** sometimes be useful to look up both form
*** 3324,3327 ****
  @printindex cp
  
  @bye
- b
--- 3330,3332 ----
diff -Nrcpad gcc-16-20260118/gcc/algol68/lang.opt gcc-16-20260125/gcc/algol68/lang.opt
*** gcc-16-20260118/gcc/algol68/lang.opt	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/algol68/lang.opt	Sun Jan 25 22:32:06 2026
*************** Link the GNU Algol 68 run-time library d
*** 102,112 ****
  
  std=algol68
  Algol68
! Compile strict Algol 68 as defined by the Revised Report
  
  std=gnu68
  Algol68
! Accept GNU extensions to Algol 68
  
  ; Stropping regimes.
  
--- 102,112 ----
  
  std=algol68
  Algol68
! Compile strict Algol 68 as defined by the Revised Report.
  
  std=gnu68
  Algol68
! Accept GNU extensions to Algol 68.
  
  ; Stropping regimes.
  
diff -Nrcpad gcc-16-20260118/gcc/analyzer/ChangeLog gcc-16-20260125/gcc/analyzer/ChangeLog
*** gcc-16-20260118/gcc/analyzer/ChangeLog	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/analyzer/ChangeLog	Sun Jan 25 22:32:06 2026
***************
*** 1,3 ****
--- 1,27 ----
+ 2026-01-21  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	* store.cc (binding_cluster::validate): Reimplement as...
+ 	(binding_map::validate): ...this new function, using
+ 	m_concrete and m_symbolic sizes rather than iterating through
+ 	map and counting.  Verify that concrete keys do not overlap.
+ 	(binding_cluster::can_merge_p): Reject cases that would lead to
+ 	overlapping concrete clusters.
+ 	* store.h (binding_cluster::validate): New decl.
+ 	(binding_map::get_concrete_bindings): New accessor.
+ 
+ 2026-01-21  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	* store.cc (store::eval_alias): Different decls don't alias.
+ 
+ 2026-01-20  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	* checker-event.cc (cfg_edge_event::maybe_get_edge_sense): New.
+ 	* checker-event.h (cfg_edge_event::maybe_get_edge_sense): New decl.
+ 	* diagnostic-manager.cc
+ 	(diagnostic_manager::consolidate_conditions): Use the above to
+ 	ensure that edge_sense is initialized if used, and to simplify
+ 	the check for a run of conditions.
+ 
  2026-01-16  David Malcolm  <dmalcolm@redhat.com>
  
  	* engine.cc (exploded_graph::process_worklist): Remove guard on
diff -Nrcpad gcc-16-20260118/gcc/analyzer/checker-event.cc gcc-16-20260125/gcc/analyzer/checker-event.cc
*** gcc-16-20260118/gcc/analyzer/checker-event.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/analyzer/checker-event.cc	Sun Jan 25 22:32:06 2026
*************** cfg_edge_event::get_cfg_edge () const
*** 632,637 ****
--- 632,660 ----
    return m_sedge->get_any_cfg_edge ();
  }
  
+ /* If this event is for a conditional, write the sense of the
+    conditional to *OUT and return true.
+    Otherwise return false.  */
+ 
+ bool
+ cfg_edge_event::maybe_get_edge_sense (bool *out) const
+ {
+   if (::edge e = get_cfg_edge ())
+     {
+       if (e->flags & EDGE_TRUE_VALUE)
+ 	{
+ 	  *out = true;
+ 	  return true;
+ 	}
+       else if (e->flags & EDGE_FALSE_VALUE)
+ 	{
+ 	  *out = false;
+ 	  return true;
+ 	}
+     }
+   return false;
+ }
+ 
  /* class start_cfg_edge_event : public cfg_edge_event.  */
  
  /* Implementation of diagnostics::paths::event::print_desc vfunc for
diff -Nrcpad gcc-16-20260118/gcc/analyzer/checker-event.h gcc-16-20260125/gcc/analyzer/checker-event.h
*** gcc-16-20260118/gcc/analyzer/checker-event.h	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/analyzer/checker-event.h	Sun Jan 25 22:32:06 2026
*************** public:
*** 456,461 ****
--- 456,463 ----
  
    ::edge get_cfg_edge () const;
  
+   bool maybe_get_edge_sense (bool *out) const;
+ 
   protected:
    cfg_edge_event (enum event_kind kind,
  		  const exploded_edge &eedge,
diff -Nrcpad gcc-16-20260118/gcc/analyzer/diagnostic-manager.cc gcc-16-20260125/gcc/analyzer/diagnostic-manager.cc
*** gcc-16-20260118/gcc/analyzer/diagnostic-manager.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/analyzer/diagnostic-manager.cc	Sun Jan 25 22:32:06 2026
*************** diagnostic_manager::consolidate_conditio
*** 2708,2722 ****
  	  const start_cfg_edge_event *old_start_cfg_ev
  	    = (const start_cfg_edge_event *)old_start_ev;
  	  bool edge_sense;
! 	  if (::edge e = old_start_cfg_ev->get_cfg_edge ())
! 	    {
! 	      if (e->flags & EDGE_TRUE_VALUE)
! 		edge_sense = true;
! 	      else if (e->flags & EDGE_FALSE_VALUE)
! 		edge_sense = false;
! 	      else
! 		continue;
! 	    }
  
  	  /* Find a run of CFG start/end event pairs from
  	       [start_idx, next_idx)
--- 2708,2715 ----
  	  const start_cfg_edge_event *old_start_cfg_ev
  	    = (const start_cfg_edge_event *)old_start_ev;
  	  bool edge_sense;
! 	  if (!old_start_cfg_ev->maybe_get_edge_sense (&edge_sense))
! 	    continue;
  
  	  /* Find a run of CFG start/end event pairs from
  	       [start_idx, next_idx)
*************** diagnostic_manager::consolidate_conditio
*** 2731,2749 ****
  	      gcc_assert (iter_ev->get_kind () == event_kind::start_cfg_edge);
  	      const start_cfg_edge_event *iter_cfg_ev
  		= (const start_cfg_edge_event *)iter_ev;
! 	      ::edge e = iter_cfg_ev->get_cfg_edge ();
! 	      if (!e)
  		break;
- 	      if (edge_sense)
- 		{
- 		  if (!(e->flags & EDGE_TRUE_VALUE))
- 		    break;
- 		}
- 	      else
- 		{
- 		  if (!(e->flags & EDGE_FALSE_VALUE))
- 		    break;
- 		}
  	      next_idx += 2;
  	    }
  
--- 2724,2734 ----
  	      gcc_assert (iter_ev->get_kind () == event_kind::start_cfg_edge);
  	      const start_cfg_edge_event *iter_cfg_ev
  		= (const start_cfg_edge_event *)iter_ev;
! 	      bool iter_edge_sense;
! 	      if (!iter_cfg_ev->maybe_get_edge_sense (&iter_edge_sense))
! 		break;
! 	      if (iter_edge_sense != edge_sense)
  		break;
  	      next_idx += 2;
  	    }
  
diff -Nrcpad gcc-16-20260118/gcc/analyzer/store.cc gcc-16-20260125/gcc/analyzer/store.cc
*** gcc-16-20260118/gcc/analyzer/store.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/analyzer/store.cc	Sun Jan 25 22:32:06 2026
*************** binding_map::dump (bool simple) const
*** 941,946 ****
--- 941,980 ----
    pp_newline (&pp);
  }
  
+ /* Assert that this object is valid.  */
+ 
+ void
+ binding_map::validate () const
+ {
+   const size_t num_concrete = m_concrete.size ();
+   const size_t num_symbolic = m_symbolic.size ();
+ 
+   /* We shouldn't have more than one symbolic key per cluster
+      (or one would have clobbered the other).  */
+   gcc_assert (num_symbolic < 2);
+   /* We can't have both concrete and symbolic keys.  */
+   gcc_assert (num_concrete == 0 || num_symbolic == 0);
+ 
+   /* Check for overlapping concrete bindings.  */
+   for (auto iter = m_concrete.begin (); iter != m_concrete.end (); ++iter)
+     {
+       auto next (iter);
+       ++next;
+       if (next != m_concrete.end ())
+ 	{
+ 	  /* Verify they are in order, and do not overlap.  */
+ 	  const bit_range &iter_bits = iter->first;
+ 	  const bit_range &next_bits = next->first;
+ 	  gcc_assert (iter_bits.get_start_bit_offset ()
+ 		      < next_bits.get_start_bit_offset ());
+ 	  gcc_assert (iter_bits.get_last_bit_offset ()
+ 		      < next_bits.get_start_bit_offset ());
+ 	  gcc_assert (iter_bits.get_next_bit_offset ()
+ 		      <= next_bits.get_start_bit_offset ());
+ 	}
+     }
+ }
+ 
  /* Return a new json::object of the form
     {KEY_DESC : SVALUE_DESC,
      ...for the various key/value pairs in this binding_map}.  */
*************** binding_cluster::dump (bool simple) cons
*** 1584,1603 ****
  void
  binding_cluster::validate () const
  {
!   int num_symbolic = 0;
!   int num_concrete = 0;
!   for (auto iter : m_map)
!     {
!       if (iter.m_key->symbolic_p ())
! 	num_symbolic++;
!       else
! 	num_concrete++;
!     }
!   /* We shouldn't have more than one symbolic key per cluster
!      (or one would have clobbered the other).  */
!   gcc_assert (num_symbolic < 2);
!   /* We can't have both concrete and symbolic keys.  */
!   gcc_assert (num_concrete == 0 || num_symbolic == 0);
  }
  
  /* Return a new json::object of the form
--- 1618,1624 ----
  void
  binding_cluster::validate () const
  {
!   m_map.validate ();
  }
  
  /* Return a new json::object of the form
*************** binding_cluster::can_merge_p (const bind
*** 2287,2292 ****
--- 2308,2335 ----
        out_cluster->m_map.put (key, unknown_sval);
      }
  
+   /* We might now have overlapping concrete clusters in OUT_CLUSTER.
+      Reject such cases.  */
+   if (num_concrete_keys > 0)
+     {
+       /* Check for overlapping concrete bindings.  */
+       const auto &concrete_bindings
+ 	= out_cluster->get_map ().get_concrete_bindings ();
+       for (auto iter = concrete_bindings.begin ();
+ 	   iter != concrete_bindings.end (); ++iter)
+ 	{
+ 	  auto next (iter);
+ 	  ++next;
+ 	  if (next != concrete_bindings.end ())
+ 	    {
+ 	      const bit_range &iter_bits = iter->first;
+ 	      const bit_range &next_bits = next->first;
+ 	      if (iter_bits.intersects_p (next_bits))
+ 		return false;
+ 	    }
+ 	}
+     }
+ 
    /* We can only have at most one symbolic key per cluster,
       and if we do, we can't have any concrete keys.
       If this happens, mark the cluster as touched, with no keys.  */
*************** store::eval_alias (const region *base_re
*** 3076,3081 ****
--- 3119,3128 ----
    if (decl_b && TREE_CODE (decl_b) == SSA_NAME)
      return tristate::TS_FALSE;
  
+   /* Different decls don't alias.  */
+   if (decl_a && decl_b && decl_a != decl_b)
+     return tristate::TS_FALSE;
+ 
    /* Try both ways, for symmetry.  */
    tristate ts_ab = eval_alias_1 (base_reg_a, base_reg_b);
    if (ts_ab.is_false ())
diff -Nrcpad gcc-16-20260118/gcc/analyzer/store.h gcc-16-20260125/gcc/analyzer/store.h
*** gcc-16-20260118/gcc/analyzer/store.h	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/analyzer/store.h	Sun Jan 25 22:32:06 2026
*************** public:
*** 641,646 ****
--- 641,648 ----
    void dump_to_pp (pretty_printer *pp, bool simple, bool multiline) const;
    void dump (bool simple) const;
  
+   void validate () const;
+ 
    std::unique_ptr<json::object> to_json () const;
  
    void add_to_tree_widget (text_art::tree_widget &parent_widget,
*************** public:
*** 657,662 ****
--- 659,667 ----
  				    svalue_set *maybe_live_values,
  				    bool always_overlap);
  
+   const concrete_bindings_t &
+   get_concrete_bindings () const { return m_concrete; }
+ 
  private:
    void get_overlapping_bindings (const binding_key *key,
  				 auto_vec<const binding_key *> *out);
diff -Nrcpad gcc-16-20260118/gcc/builtins.cc gcc-16-20260125/gcc/builtins.cc
*** gcc-16-20260118/gcc/builtins.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/builtins.cc	Sun Jan 25 22:32:06 2026
*************** fold_builtin_fabs (location_t loc, tree
*** 9538,9544 ****
  static tree
  fold_builtin_abs (location_t loc, tree arg, tree type)
  {
!   if (!validate_arg (arg, INTEGER_TYPE))
      return NULL_TREE;
  
    if (TYPE_UNSIGNED (type))
--- 9538,9544 ----
  static tree
  fold_builtin_abs (location_t loc, tree arg, tree type)
  {
!   if (!validate_arg (arg, INTEGER_TYPE) || !INTEGRAL_TYPE_P (type))
      return NULL_TREE;
  
    if (TYPE_UNSIGNED (type))
diff -Nrcpad gcc-16-20260118/gcc/c-family/ChangeLog gcc-16-20260125/gcc/c-family/ChangeLog
*** gcc-16-20260118/gcc/c-family/ChangeLog	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/c-family/ChangeLog	Sun Jan 25 22:32:06 2026
***************
*** 1,3 ****
--- 1,9 ----
+ 2026-01-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123694
+ 	* c-indentation.cc (guard_tinfo_to_string): Handle RID_TEMPLATE
+ 	for C++11 or later.
+ 
  2026-01-15  Jakub Jelinek  <jakub@redhat.com>
  
  	* c.opt.urls: Regenerate.
diff -Nrcpad gcc-16-20260118/gcc/c-family/c-indentation.cc gcc-16-20260125/gcc/c-family/c-indentation.cc
*** gcc-16-20260118/gcc/c-family/c-indentation.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/c-family/c-indentation.cc	Sun Jan 25 22:32:06 2026
*************** guard_tinfo_to_string (enum rid keyword)
*** 606,611 ****
--- 606,614 ----
        return "do";
      case RID_SWITCH:
        return "switch";
+     case RID_TEMPLATE:
+       gcc_assert (cxx_dialect >= cxx11);
+       return "template for";
      default:
        gcc_unreachable ();
      }
diff -Nrcpad gcc-16-20260118/gcc/c-family/c.opt gcc-16-20260125/gcc/c-family/c.opt
*** gcc-16-20260118/gcc/c-family/c.opt	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/c-family/c.opt	Sun Jan 25 22:32:06 2026
*************** C ObjC C++ ObjC++ Separate Alias(o)
*** 149,156 ****
  -output=
  C ObjC C++ ObjC++ Joined Alias(o)
  
  -output-pch
! C ObjC C++ ObjC++ Separate
  
  -pedantic
  C ObjC C++ ObjC++ Alias(pedantic)
--- 149,158 ----
  -output=
  C ObjC C++ ObjC++ Joined Alias(o)
  
+ ; The documented user option for PCH output is -o.  The driver converts that
+ ; to -output-pch when invoking the front ends to produce a PCH file.
  -output-pch
! C ObjC C++ ObjC++ Separate Undocumented
  
  -pedantic
  C ObjC C++ ObjC++ Alias(pedantic)
*************** C ObjC C++ ObjC++
*** 758,764 ****
  ; Documented in common.opt
  
  Werror-implicit-function-declaration
! C ObjC RejectNegative Warning Alias(Werror=, implicit-function-declaration)
  This switch is deprecated; use -Werror=implicit-function-declaration instead.
  
  Wexceptions
--- 760,766 ----
  ; Documented in common.opt
  
  Werror-implicit-function-declaration
! C ObjC RejectNegative Undocumented Warning Alias(Werror=, implicit-function-declaration)
  This switch is deprecated; use -Werror=implicit-function-declaration instead.
  
  Wexceptions
*************** C++ ObjC++ Ignore
*** 1875,1881 ****
  Does nothing.  Preserved for backward compatibility.
  
  fconstant-string-class=
! ObjC ObjC++ Joined MissingArgError(no class name specified with %qs)
  -fconst-string-class=<name>	Use class <name> for constant strings.
  
  fconstexpr-depth=
--- 1877,1883 ----
  Does nothing.  Preserved for backward compatibility.
  
  fconstant-string-class=
! ObjC ObjC++ Joined RejectNegative MissingArgError(no class name specified with %qs)
  -fconst-string-class=<name>	Use class <name> for constant strings.
  
  fconstexpr-depth=
diff -Nrcpad gcc-16-20260118/gcc/c-family/c.opt.urls gcc-16-20260125/gcc/c-family/c.opt.urls
*** gcc-16-20260118/gcc/c-family/c.opt.urls	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/c-family/c.opt.urls	Sun Jan 25 22:32:06 2026
*************** Wnormalized=
*** 656,662 ****
  UrlSuffix(gcc/Warning-Options.html#index-Wno-normalized)
  
  Wobjc-root-class
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-Wobjc-root-class)
  
  Wold-style-cast
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-Wno-old-style-cast)
--- 656,662 ----
  UrlSuffix(gcc/Warning-Options.html#index-Wno-normalized)
  
  Wobjc-root-class
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-Wno-objc-root-class)
  
  Wold-style-cast
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-Wno-old-style-cast)
*************** Wtrailing-whitespace
*** 928,934 ****
  UrlSuffix(gcc/Warning-Options.html#index-Wno-trailing-whitespace)
  
  Wtrigraphs
! UrlSuffix(gcc/Warning-Options.html#index-Wtrigraphs)
  
  Wundeclared-selector
  UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-Wno-undeclared-selector)
--- 928,934 ----
  UrlSuffix(gcc/Warning-Options.html#index-Wno-trailing-whitespace)
  
  Wtrigraphs
! UrlSuffix(gcc/Warning-Options.html#index-Wno-trigraphs)
  
  Wundeclared-selector
  UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-Wno-undeclared-selector)
*************** Wunused-local-typedefs
*** 964,970 ****
  UrlSuffix(gcc/Warning-Options.html#index-Wno-unused-local-typedefs)
  
  Wunused-macros
! UrlSuffix(gcc/Warning-Options.html#index-Wunused-macros)
  
  Wunused-result
  UrlSuffix(gcc/Warning-Options.html#index-Wno-unused-result)
--- 964,970 ----
  UrlSuffix(gcc/Warning-Options.html#index-Wno-unused-local-typedefs)
  
  Wunused-macros
! UrlSuffix(gcc/Warning-Options.html#index-Wno-unused-macros)
  
  Wunused-result
  UrlSuffix(gcc/Warning-Options.html#index-Wno-unused-result)
*************** Wzero-as-null-pointer-constant
*** 1018,1024 ****
  UrlSuffix(gcc/Warning-Options.html#index-Wno-zero-as-null-pointer-constant)
  
  Wzero-length-bounds
! UrlSuffix(gcc/Warning-Options.html#index-Wzero-length-bounds)
  
  ; skipping UrlSuffix for 'ansi' due to multiple URLs:
  ;   duplicate: 'gcc/C-Dialect-Options.html#index-ansi-1'
--- 1018,1024 ----
  UrlSuffix(gcc/Warning-Options.html#index-Wno-zero-as-null-pointer-constant)
  
  Wzero-length-bounds
! UrlSuffix(gcc/Warning-Options.html#index-Wno-zero-length-bounds)
  
  ; skipping UrlSuffix for 'ansi' due to multiple URLs:
  ;   duplicate: 'gcc/C-Dialect-Options.html#index-ansi-1'
*************** fnonansi-builtins
*** 1286,1322 ****
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-nonansi-builtins)
  
  fnothrow-opt
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fnothrow-opt)
  
  fobjc-abi-version=
  UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-fobjc-abi-version)
  
  fobjc-call-cxx-cdtors
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-fobjc-call-cxx-cdtors)
  
  fobjc-direct-dispatch
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-fobjc-direct-dispatch)
  
  fobjc-exceptions
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-fobjc-exceptions)
  
  fobjc-gc
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-fobjc-gc)
  
  fobjc-nilcheck
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-fobjc-nilcheck)
  
  fopenacc
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fopenacc) LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fopenacc)
  
  fopenacc-dim=
  UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fopenacc-dim)
  
  fopenmp
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fopenmp) LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fopenmp)
  
  fopenmp-simd
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fopenmp-simd) LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fopenmp-simd)
  
  foperator-names
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-operator-names)
--- 1286,1322 ----
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-nonansi-builtins)
  
  fnothrow-opt
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-nothrow-opt)
  
  fobjc-abi-version=
  UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-fobjc-abi-version)
  
  fobjc-call-cxx-cdtors
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-fno-objc-call-cxx-cdtors)
  
  fobjc-direct-dispatch
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-fno-objc-direct-dispatch)
  
  fobjc-exceptions
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-fno-objc-exceptions)
  
  fobjc-gc
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-fno-objc-gc)
  
  fobjc-nilcheck
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-fno-objc-nilcheck)
  
  fopenacc
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fno-openacc) LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fopenacc)
  
  fopenacc-dim=
  UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fopenacc-dim)
  
  fopenmp
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fno-openmp) LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fopenmp)
  
  fopenmp-simd
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fno-openmp-simd) LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fopenmp-simd)
  
  foperator-names
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-operator-names)
*************** foptional-diags
*** 1325,1344 ****
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-optional-diags)
  
  fpch-deps
! UrlSuffix(gcc/Preprocessor-Options.html#index-fpch-deps)
  
  fpch-preprocess
! UrlSuffix(gcc/Preprocessor-Options.html#index-fpch-preprocess)
  
  fpermissive
! UrlSuffix(gcc/Warning-Options.html#index-fpermissive)
  
  ; skipping UrlSuffix for 'fplan9-extensions' due to multiple URLs:
! ;   duplicate: 'gcc/C-Dialect-Options.html#index-fplan9-extensions'
  ;   duplicate: 'gcc/Unnamed-Fields.html#index-fplan9-extensions-1'
  
  fpreprocessed
! UrlSuffix(gcc/Preprocessor-Options.html#index-fpreprocessed)
  
  ftrack-macro-expansion
  UrlSuffix(gcc/Preprocessor-Options.html#index-ftrack-macro-expansion)
--- 1325,1344 ----
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-optional-diags)
  
  fpch-deps
! UrlSuffix(gcc/Preprocessor-Options.html#index-fno-pch-deps)
  
  fpch-preprocess
! UrlSuffix(gcc/Preprocessor-Options.html#index-fno-pch-preprocess)
  
  fpermissive
! UrlSuffix(gcc/Warning-Options.html#index-fno-permissive)
  
  ; skipping UrlSuffix for 'fplan9-extensions' due to multiple URLs:
! ;   duplicate: 'gcc/C-Dialect-Options.html#index-fno-plan9-extensions'
  ;   duplicate: 'gcc/Unnamed-Fields.html#index-fplan9-extensions-1'
  
  fpreprocessed
! UrlSuffix(gcc/Preprocessor-Options.html#index-fno-preprocessed)
  
  ftrack-macro-expansion
  UrlSuffix(gcc/Preprocessor-Options.html#index-ftrack-macro-expansion)
*************** fprintf-return-value
*** 1353,1395 ****
  UrlSuffix(gcc/Optimize-Options.html#index-fno-printf-return-value)
  
  frange-for-ext-temps
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-frange-for-ext-temps)
  
  freflection
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-freflection)
  
  freplace-objc-classes
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-freplace-objc-classes)
  
  frtti
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-rtti) LangUrlSuffix_D(gdc/Runtime-Options.html#index-fno-rtti)
  
  fsearch-include-path
! UrlSuffix(gcc/Preprocessor-Options.html#index-fsearch-include-path)
  
  fsearch-include-path=
! UrlSuffix(gcc/Preprocessor-Options.html#index-fsearch-include-path)
  
  ; skipping UrlSuffix for 'fshort-enums' due to multiple URLs:
! ;   duplicate: 'gcc/Code-Gen-Options.html#index-fshort-enums'
  ;   duplicate: 'gcc/Non-bugs.html#index-fshort-enums-3'
  ;   duplicate: 'gcc/Structures-unions-enumerations-and-bit-fields-implementation.html#index-fshort-enums-1'
  fshort-enums
  LangUrlSuffix_Fortran(gfortran/Code-Gen-Options.html#index-fshort-enums)
  
  fshort-wchar
! UrlSuffix(gcc/Code-Gen-Options.html#index-fshort-wchar)
  
  ; skipping UrlSuffix for 'fsigned-bitfields' due to multiple URLs:
  ;   duplicate: 'gcc/C-Dialect-Options.html#index-fno-signed-bitfields'
  ;   duplicate: 'gcc/Non-bugs.html#index-fsigned-bitfields-1'
  
  ; skipping UrlSuffix for 'fsigned-char' due to multiple URLs:
! ;   duplicate: 'gcc/C-Dialect-Options.html#index-fsigned-char'
  ;   duplicate: 'gcc/Characters-implementation.html#index-fsigned-char-1'
  
  fsized-deallocation
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fsized-deallocation)
  
  fstrict-flex-arrays
  UrlSuffix(gcc/C-Dialect-Options.html#index-fno-strict-flex-arrays)
--- 1353,1395 ----
  UrlSuffix(gcc/Optimize-Options.html#index-fno-printf-return-value)
  
  frange-for-ext-temps
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-range-for-ext-temps)
  
  freflection
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-freflection)
  
  freplace-objc-classes
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-fno-replace-objc-classes)
  
  frtti
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-rtti) LangUrlSuffix_D(gdc/Runtime-Options.html#index-fno-rtti)
  
  fsearch-include-path
! UrlSuffix(gcc/Preprocessor-Options.html#index-fno-search-include-path)
  
  fsearch-include-path=
! UrlSuffix(gcc/Preprocessor-Options.html#index-fno-search-include-path)
  
  ; skipping UrlSuffix for 'fshort-enums' due to multiple URLs:
! ;   duplicate: 'gcc/Code-Gen-Options.html#index-fno-short-enums'
  ;   duplicate: 'gcc/Non-bugs.html#index-fshort-enums-3'
  ;   duplicate: 'gcc/Structures-unions-enumerations-and-bit-fields-implementation.html#index-fshort-enums-1'
  fshort-enums
  LangUrlSuffix_Fortran(gfortran/Code-Gen-Options.html#index-fshort-enums)
  
  fshort-wchar
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-short-wchar)
  
  ; skipping UrlSuffix for 'fsigned-bitfields' due to multiple URLs:
  ;   duplicate: 'gcc/C-Dialect-Options.html#index-fno-signed-bitfields'
  ;   duplicate: 'gcc/Non-bugs.html#index-fsigned-bitfields-1'
  
  ; skipping UrlSuffix for 'fsigned-char' due to multiple URLs:
! ;   duplicate: 'gcc/C-Dialect-Options.html#index-fno-signed-char'
  ;   duplicate: 'gcc/Characters-implementation.html#index-fsigned-char-1'
  
  fsized-deallocation
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-sized-deallocation)
  
  fstrict-flex-arrays
  UrlSuffix(gcc/C-Dialect-Options.html#index-fno-strict-flex-arrays)
*************** fsso-struct=
*** 1401,1416 ****
  UrlSuffix(gcc/C-Dialect-Options.html#index-fsso-struct)
  
  fstats
! UrlSuffix(gcc/Developer-Options.html#index-fstats)
  
  fstrict-enums
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fstrict-enums)
  
  fstrong-eval-order
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fstrong-eval-order)
  
  fstrong-eval-order=
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fstrong-eval-order)
  
  ftemplate-backtrace-limit=
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-ftemplate-backtrace-limit)
--- 1401,1416 ----
  UrlSuffix(gcc/C-Dialect-Options.html#index-fsso-struct)
  
  fstats
! UrlSuffix(gcc/Developer-Options.html#index-fno-stats)
  
  fstrict-enums
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-strict-enums)
  
  fstrong-eval-order
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-strong-eval-order)
  
  fstrong-eval-order=
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-strong-eval-order)
  
  ftemplate-backtrace-limit=
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-ftemplate-backtrace-limit)
*************** UrlSuffix(gcc/C_002b_002b-Dialect-Option
*** 1427,1446 ****
  ;   duplicate: 'gcc/Structures-unions-enumerations-and-bit-fields-implementation.html#index-funsigned-bitfields-1'
  
  ; skipping UrlSuffix for 'funsigned-char' due to multiple URLs:
! ;   duplicate: 'gcc/C-Dialect-Options.html#index-funsigned-char'
  ;   duplicate: 'gcc/Characters-implementation.html#index-funsigned-char-1'
  
  fuse-cxa-atexit
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fuse-cxa-atexit)
  
  fuse-cxa-get-exception-ptr
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-use-cxa-get-exception-ptr)
  
  fvisibility-inlines-hidden
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fvisibility-inlines-hidden)
  
  fvisibility-ms-compat
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fvisibility-ms-compat)
  
  fweak
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-weak)
--- 1427,1446 ----
  ;   duplicate: 'gcc/Structures-unions-enumerations-and-bit-fields-implementation.html#index-funsigned-bitfields-1'
  
  ; skipping UrlSuffix for 'funsigned-char' due to multiple URLs:
! ;   duplicate: 'gcc/C-Dialect-Options.html#index-fno-unsigned-char'
  ;   duplicate: 'gcc/Characters-implementation.html#index-funsigned-char-1'
  
  fuse-cxa-atexit
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-use-cxa-atexit)
  
  fuse-cxa-get-exception-ptr
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-use-cxa-get-exception-ptr)
  
  fvisibility-inlines-hidden
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-visibility-inlines-hidden)
  
  fvisibility-ms-compat
! UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-visibility-ms-compat)
  
  fweak
  UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-fno-weak)
*************** fworking-directory
*** 1452,1458 ****
  UrlSuffix(gcc/Preprocessor-Options.html#index-fno-working-directory) LangUrlSuffix_Fortran(gfortran/Preprocessing-Options.html#index-fworking-directory)
  
  fzero-link
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-fzero-link)
  
  gen-decls
  UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-gen-decls)
--- 1452,1458 ----
  UrlSuffix(gcc/Preprocessor-Options.html#index-fno-working-directory) LangUrlSuffix_Fortran(gfortran/Preprocessing-Options.html#index-fworking-directory)
  
  fzero-link
! UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-fno-zero-link)
  
  gen-decls
  UrlSuffix(gcc/Objective-C-and-Objective-C_002b_002b-Dialect-Options.html#index-gen-decls)
diff -Nrcpad gcc-16-20260118/gcc/cobol/ChangeLog gcc-16-20260125/gcc/cobol/ChangeLog
*** gcc-16-20260118/gcc/cobol/ChangeLog	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/cobol/ChangeLog	Sun Jan 25 22:32:06 2026
***************
*** 1,3 ****
--- 1,12 ----
+ 2026-01-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* lang.opt (fexec-national-charset=): Add dot at the end of the
+ 	description.
+ 
+ 2026-01-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* lang.opt (Wmove-index): Add missing dot at the end of description.
+ 
  2026-01-17  Jakub Jelinek  <jakub@redhat.com>
  
  	* lang.opt.urls: Regenerate.
diff -Nrcpad gcc-16-20260118/gcc/cobol/lang.opt gcc-16-20260125/gcc/cobol/lang.opt
*** gcc-16-20260118/gcc/cobol/lang.opt	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/cobol/lang.opt	Sun Jan 25 22:32:06 2026
*************** Cobol Joined Var(cobol_charset) RejectNe
*** 79,85 ****
  
  fexec-national-charset=
  Cobol Joined Var(cobol_national_charset) RejectNegative
! Set the default execution character set for NATIONAL data items
  
  ;; warnings
  
--- 79,85 ----
  
  fexec-national-charset=
  Cobol Joined Var(cobol_national_charset) RejectNegative
! Set the default execution character set for NATIONAL data items.
  
  ;; warnings
  
*************** Warn if ANY LENGTH is used in outermost
*** 141,147 ****
  ; MfMoveIndex
  Wmove-index
  Cobol Warning Var(move_index, 1) Init(1)
! Warn if MOVE INDEX is used
  
  ; MfMovePointer
  Wmove-pointer
--- 141,147 ----
  ; MfMoveIndex
  Wmove-index
  Cobol Warning Var(move_index, 1) Init(1)
! Warn if MOVE INDEX is used.
  
  ; MfMovePointer
  Wmove-pointer
diff -Nrcpad gcc-16-20260118/gcc/combine.cc gcc-16-20260125/gcc/combine.cc
*** gcc-16-20260118/gcc/combine.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/combine.cc	Sun Jan 25 22:32:06 2026
*************** gen_lowpart_for_combine (machine_mode om
*** 11856,11862 ****
        /* If we want to refer to something bigger than the original memref,
  	 generate a paradoxical subreg instead.  That will force a reload
  	 of the original memref X.  */
!       if (paradoxical_subreg_p (omode, imode))
  	return gen_rtx_SUBREG (omode, x, 0);
  
        poly_int64 offset = byte_lowpart_offset (omode, imode);
--- 11856,11863 ----
        /* If we want to refer to something bigger than the original memref,
  	 generate a paradoxical subreg instead.  That will force a reload
  	 of the original memref X.  */
!       if (paradoxical_subreg_p (omode, imode)
! 	  && validate_subreg (omode, GET_MODE (x), x, 0))
  	return gen_rtx_SUBREG (omode, x, 0);
  
        poly_int64 offset = byte_lowpart_offset (omode, imode);
diff -Nrcpad gcc-16-20260118/gcc/common.opt gcc-16-20260125/gcc/common.opt
*** gcc-16-20260118/gcc/common.opt	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/common.opt	Sun Jan 25 22:32:06 2026
*************** Common Var(flag_auto_profile_inlining) I
*** 1213,1222 ****
  Perform inlining using auto-profile.
  
  ; -fbounds-check causes gcc to generate array bounds checks.
! ; It's presently used only for fortran and d languages, and is documented
! ; in the manuals for those languages.
  fbounds-check
! Common Var(flag_bounds_check)
  Generate code to check bounds before indexing arrays.
  
  fbranch-count-reg
--- 1213,1223 ----
  Perform inlining using auto-profile.
  
  ; -fbounds-check causes gcc to generate array bounds checks.
! ; It's presently used only for fortran, algol68, and d languages.
! ; In Fortran and algol68 it is a deprecated alias for -fcheck=bounds,
! ; in D it is documented in the D language manual.
  fbounds-check
! Common Undocumented Var(flag_bounds_check)
  Generate code to check bounds before indexing arrays.
  
  fbranch-count-reg
*************** foffload-options=
*** 2470,2477 ****
  Common Driver Joined RejectNegative MissingArgError(options or targets=options missing after %qs)
  -foffload-options=<targets>=<options>	Specify options for the offloading targets.
  
  foffload-abi=
! Common Joined RejectNegative Enum(offload_abi)
  -foffload-abi=[lp64|ilp32]	Set the ABI to use in an offload compiler.
  
  Enum
--- 2471,2480 ----
  Common Driver Joined RejectNegative MissingArgError(options or targets=options missing after %qs)
  -foffload-options=<targets>=<options>	Specify options for the offloading targets.
  
+ ; -foffload-abi is not useful to users because the host/offload
+ ; pointer sizes must match regardless.
  foffload-abi=
! Common Undocumented Joined RejectNegative Enum(offload_abi)
  -foffload-abi=[lp64|ilp32]	Set the ABI to use in an offload compiler.
  
  Enum
*************** Enum(offload_abi) String(ilp32) Value(OF
*** 2483,2490 ****
  EnumValue
  Enum(offload_abi) String(lp64) Value(OFFLOAD_ABI_LP64)
  
  foffload-abi-host-opts=
! Common Joined RejectNegative MissingArgError(option missing after %qs)
  -foffload-abi-host-opts=<options>	Specify host ABI options.
  
  fomit-frame-pointer
--- 2486,2495 ----
  EnumValue
  Enum(offload_abi) String(lp64) Value(OFFLOAD_ABI_LP64)
  
+ ; -foffload-abi-host-opts is not useful to users because the host/offload
+ ; pointer sizes must match regardless.
  foffload-abi-host-opts=
! Common Undocumented Joined RejectNegative MissingArgError(option missing after %qs)
  -foffload-abi-host-opts=<options>	Specify host ABI options.
  
  fomit-frame-pointer
*************** Common Driver Var(flag_describe_dies) In
*** 3790,3796 ****
  Add description attributes to some DWARF DIEs that have no name attribute.
  
  gtoggle
! Common Driver Var(flag_gtoggle)
  Toggle debug information generation.
  
  gvariable-location-views
--- 3795,3801 ----
  Add description attributes to some DWARF DIEs that have no name attribute.
  
  gtoggle
! Common RejectNegative Driver Var(flag_gtoggle)
  Toggle debug information generation.
  
  gvariable-location-views
diff -Nrcpad gcc-16-20260118/gcc/common.opt.urls gcc-16-20260125/gcc/common.opt.urls
*** gcc-16-20260118/gcc/common.opt.urls	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/common.opt.urls	Sun Jan 25 22:32:06 2026
*************** Wshadow
*** 216,228 ****
  UrlSuffix(gcc/Warning-Options.html#index-Wno-shadow)
  
  Wshadow=global
! UrlSuffix(gcc/Warning-Options.html#index-Wshadow_003dglobal)
  
  Wshadow=local
! UrlSuffix(gcc/Warning-Options.html#index-Wshadow_003dlocal)
  
  Wshadow=compatible-local
! UrlSuffix(gcc/Warning-Options.html#index-Wshadow_003dcompatible-local)
  
  Wstack-protector
  UrlSuffix(gcc/Warning-Options.html#index-Wno-stack-protector)
--- 216,228 ----
  UrlSuffix(gcc/Warning-Options.html#index-Wno-shadow)
  
  Wshadow=global
! UrlSuffix(gcc/Warning-Options.html#index-Wno-shadow_003dglobal)
  
  Wshadow=local
! UrlSuffix(gcc/Warning-Options.html#index-Wno-shadow_003dlocal)
  
  Wshadow=compatible-local
! UrlSuffix(gcc/Warning-Options.html#index-Wno-shadow_003dcompatible-local)
  
  Wstack-protector
  UrlSuffix(gcc/Warning-Options.html#index-Wno-stack-protector)
*************** fsanitize-trap
*** 452,461 ****
  UrlSuffix(gcc/Instrumentation-Options.html#index-fno-sanitize-trap)
  
  fsanitize-address-use-after-scope
! UrlSuffix(gcc/Instrumentation-Options.html#index-fsanitize-address-use-after-scope)
  
  fsanitize-undefined-trap-on-error
! UrlSuffix(gcc/Instrumentation-Options.html#index-fsanitize-undefined-trap-on-error)
  
  fasynchronous-unwind-tables
  UrlSuffix(gcc/Code-Gen-Options.html#index-fasynchronous-unwind-tables)
--- 452,461 ----
  UrlSuffix(gcc/Instrumentation-Options.html#index-fno-sanitize-trap)
  
  fsanitize-address-use-after-scope
! UrlSuffix(gcc/Instrumentation-Options.html#index-fno-sanitize-address-use-after-scope)
  
  fsanitize-undefined-trap-on-error
! UrlSuffix(gcc/Instrumentation-Options.html#index-fno-sanitize-undefined-trap-on-error)
  
  fasynchronous-unwind-tables
  UrlSuffix(gcc/Code-Gen-Options.html#index-fasynchronous-unwind-tables)
*************** fdump-noaddr
*** 707,713 ****
  UrlSuffix(gcc/Developer-Options.html#index-fdump-noaddr)
  
  freport-bug
! UrlSuffix(gcc/Developer-Options.html#index-freport-bug)
  
  fdump-internal-locations
  UrlSuffix(gcc/Developer-Options.html#index-fdump-internal-locations)
--- 707,713 ----
  UrlSuffix(gcc/Developer-Options.html#index-fdump-noaddr)
  
  freport-bug
! UrlSuffix(gcc/Developer-Options.html#index-fno-report-bug)
  
  fdump-internal-locations
  UrlSuffix(gcc/Developer-Options.html#index-fdump-internal-locations)
*************** floop-nest-optimize
*** 837,849 ****
  UrlSuffix(gcc/Optimize-Options.html#index-floop-nest-optimize)
  
  fspeculatively-call-stored-functions
! UrlSuffix(gcc/Optimize-Options.html#index-fspeculatively-call-stored-functions)
  
  fstrict-volatile-bitfields
! UrlSuffix(gcc/Code-Gen-Options.html#index-fstrict-volatile-bitfields)
  
  fstore-merging
! UrlSuffix(gcc/Optimize-Options.html#index-fstore-merging)
  
  fguess-branch-probability
  UrlSuffix(gcc/Optimize-Options.html#index-fguess-branch-probability)
--- 837,849 ----
  UrlSuffix(gcc/Optimize-Options.html#index-floop-nest-optimize)
  
  fspeculatively-call-stored-functions
! UrlSuffix(gcc/Optimize-Options.html#index-fno-speculatively-call-stored-functions)
  
  fstrict-volatile-bitfields
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-strict-volatile-bitfields)
  
  fstore-merging
! UrlSuffix(gcc/Optimize-Options.html#index-fno-store-merging)
  
  fguess-branch-probability
  UrlSuffix(gcc/Optimize-Options.html#index-fguess-branch-probability)
*************** fstack-reuse=
*** 885,891 ****
  UrlSuffix(gcc/Code-Gen-Options.html#index-fstack-reuse)
  
  ftree-loop-if-convert
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-loop-if-convert)
  
  finhibit-size-directive
  UrlSuffix(gcc/Code-Gen-Options.html#index-finhibit-size-directive)
--- 885,891 ----
  UrlSuffix(gcc/Code-Gen-Options.html#index-fstack-reuse)
  
  ftree-loop-if-convert
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-loop-if-convert)
  
  finhibit-size-directive
  UrlSuffix(gcc/Code-Gen-Options.html#index-finhibit-size-directive)
*************** UrlSuffix(gcc/Optimize-Options.html#inde
*** 1044,1049 ****
--- 1044,1052 ----
  flto-partition=
  UrlSuffix(gcc/Optimize-Options.html#index-flto-partition)
  
+ flto-toplevel-asm-heuristics
+ UrlSuffix(gcc/Optimize-Options.html#index-flto-toplevel-asm-heuristics)
+ 
  flto-compression-level=
  UrlSuffix(gcc/Optimize-Options.html#index-flto-compression-level)
  
*************** fdse
*** 1105,1114 ****
  UrlSuffix(gcc/Optimize-Options.html#index-fdse)
  
  freschedule-modulo-scheduled-loops
! UrlSuffix(gcc/Optimize-Options.html#index-freschedule-modulo-scheduled-loops)
  
  fnon-call-exceptions
! UrlSuffix(gcc/Code-Gen-Options.html#index-fnon-call-exceptions)
  
  foffload=
  UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-foffload)
--- 1108,1117 ----
  UrlSuffix(gcc/Optimize-Options.html#index-fdse)
  
  freschedule-modulo-scheduled-loops
! UrlSuffix(gcc/Optimize-Options.html#index-fno-reschedule-modulo-scheduled-loops)
  
  fnon-call-exceptions
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-non-call-exceptions)
  
  foffload=
  UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-foffload)
*************** foffload-options=
*** 1117,1166 ****
  UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-foffload-options)
  
  fomit-frame-pointer
! UrlSuffix(gcc/Optimize-Options.html#index-fomit-frame-pointer)
  
  fopenmp-target-simd-clone
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fopenmp-target-simd-clone)
  
  fopenmp-target-simd-clone=
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fopenmp-target-simd-clone)
  
  fopt-info
! UrlSuffix(gcc/Developer-Options.html#index-fopt-info)
  
  fsave-optimization-record
! UrlSuffix(gcc/Developer-Options.html#index-fsave-optimization-record)
  
  foptimize-crc
! UrlSuffix(gcc/Optimize-Options.html#index-foptimize-crc)
  
  foptimize-sibling-calls
! UrlSuffix(gcc/Optimize-Options.html#index-foptimize-sibling-calls)
  
  fpath-coverage
! UrlSuffix(gcc/Instrumentation-Options.html#index-fpath-coverage)
  
  fpartial-inlining
! UrlSuffix(gcc/Optimize-Options.html#index-fpartial-inlining)
  
  fpre-ipa-mem-report
! UrlSuffix(gcc/Developer-Options.html#index-fpre-ipa-mem-report)
  
  fpost-ipa-mem-report
! UrlSuffix(gcc/Developer-Options.html#index-fpost-ipa-mem-report)
  
  fpack-struct
! UrlSuffix(gcc/Code-Gen-Options.html#index-fpack-struct)
  
  fpack-struct=
! UrlSuffix(gcc/Code-Gen-Options.html#index-fpack-struct)
  
  ; skipping UrlSuffix for 'fpcc-struct-return' due to multiple URLs:
! ;   duplicate: 'gcc/Code-Gen-Options.html#index-fpcc-struct-return'
  ;   duplicate: 'gcc/Incompatibilities.html#index-fpcc-struct-return-1'
  
  fpeel-loops
! UrlSuffix(gcc/Optimize-Options.html#index-fpeel-loops)
  
  fpeephole
  UrlSuffix(gcc/Optimize-Options.html#index-fno-peephole)
--- 1120,1169 ----
  UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-foffload-options)
  
  fomit-frame-pointer
! UrlSuffix(gcc/Optimize-Options.html#index-fno-omit-frame-pointer)
  
  fopenmp-target-simd-clone
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fno-openmp-target-simd-clone)
  
  fopenmp-target-simd-clone=
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fno-openmp-target-simd-clone)
  
  fopt-info
! UrlSuffix(gcc/Developer-Options.html#index-fno-opt-info)
  
  fsave-optimization-record
! UrlSuffix(gcc/Developer-Options.html#index-fno-save-optimization-record)
  
  foptimize-crc
! UrlSuffix(gcc/Optimize-Options.html#index-fno-optimize-crc)
  
  foptimize-sibling-calls
! UrlSuffix(gcc/Optimize-Options.html#index-fno-optimize-sibling-calls)
  
  fpath-coverage
! UrlSuffix(gcc/Instrumentation-Options.html#index-fno-path-coverage)
  
  fpartial-inlining
! UrlSuffix(gcc/Optimize-Options.html#index-fno-partial-inlining)
  
  fpre-ipa-mem-report
! UrlSuffix(gcc/Developer-Options.html#index-fno-pre-ipa-mem-report)
  
  fpost-ipa-mem-report
! UrlSuffix(gcc/Developer-Options.html#index-fno-post-ipa-mem-report)
  
  fpack-struct
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-pack-struct)
  
  fpack-struct=
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-pack-struct)
  
  ; skipping UrlSuffix for 'fpcc-struct-return' due to multiple URLs:
! ;   duplicate: 'gcc/Code-Gen-Options.html#index-fno-pcc-struct-return'
  ;   duplicate: 'gcc/Incompatibilities.html#index-fpcc-struct-return-1'
  
  fpeel-loops
! UrlSuffix(gcc/Optimize-Options.html#index-fno-peel-loops)
  
  fpeephole
  UrlSuffix(gcc/Optimize-Options.html#index-fno-peephole)
*************** fpeephole2
*** 1169,1184 ****
  UrlSuffix(gcc/Optimize-Options.html#index-fno-peephole2)
  
  fPIC
! UrlSuffix(gcc/Code-Gen-Options.html#index-fPIC)
  
  fPIE
! UrlSuffix(gcc/Code-Gen-Options.html#index-fPIE)
  
  fpic
! UrlSuffix(gcc/Code-Gen-Options.html#index-fpic)
  
  fpie
! UrlSuffix(gcc/Code-Gen-Options.html#index-fpie)
  
  fplt
  UrlSuffix(gcc/Code-Gen-Options.html#index-fno-plt)
--- 1172,1187 ----
  UrlSuffix(gcc/Optimize-Options.html#index-fno-peephole2)
  
  fPIC
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-PIC)
  
  fPIE
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-PIE)
  
  fpic
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-pic)
  
  fpie
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-pie)
  
  fplt
  UrlSuffix(gcc/Code-Gen-Options.html#index-fno-plt)
*************** fplugin=
*** 1187,1205 ****
  UrlSuffix(gcc/Overall-Options.html#index-fplugin)
  
  fpredictive-commoning
! UrlSuffix(gcc/Optimize-Options.html#index-fpredictive-commoning)
  
  fprefetch-loop-arrays
! UrlSuffix(gcc/Optimize-Options.html#index-fprefetch-loop-arrays)
  
  fprofile
! UrlSuffix(gcc/Instrumentation-Options.html#index-fprofile)
  
  fprofile-abs-path
! UrlSuffix(gcc/Instrumentation-Options.html#index-fprofile-abs-path)
  
  ; skipping UrlSuffix for 'fprofile-arcs' due to multiple URLs:
! ;   duplicate: 'gcc/Instrumentation-Options.html#index-fprofile-arcs'
  ;   duplicate: 'gcc/Other-Builtins.html#index-fprofile-arcs-1'
  
  fcondition-coverage
--- 1190,1208 ----
  UrlSuffix(gcc/Overall-Options.html#index-fplugin)
  
  fpredictive-commoning
! UrlSuffix(gcc/Optimize-Options.html#index-fno-predictive-commoning)
  
  fprefetch-loop-arrays
! UrlSuffix(gcc/Optimize-Options.html#index-fno-prefetch-loop-arrays)
  
  fprofile
! UrlSuffix(gcc/Instrumentation-Options.html#index-fno-profile)
  
  fprofile-abs-path
! UrlSuffix(gcc/Instrumentation-Options.html#index-fno-profile-abs-path)
  
  ; skipping UrlSuffix for 'fprofile-arcs' due to multiple URLs:
! ;   duplicate: 'gcc/Instrumentation-Options.html#index-fno-profile-arcs'
  ;   duplicate: 'gcc/Other-Builtins.html#index-fprofile-arcs-1'
  
  fcondition-coverage
*************** fprofile-note=
*** 1212,1218 ****
  UrlSuffix(gcc/Instrumentation-Options.html#index-fprofile-note)
  
  fprofile-correction
! UrlSuffix(gcc/Optimize-Options.html#index-fprofile-correction)
  
  fprofile-update=
  UrlSuffix(gcc/Instrumentation-Options.html#index-fprofile-update)
--- 1215,1221 ----
  UrlSuffix(gcc/Instrumentation-Options.html#index-fprofile-note)
  
  fprofile-correction
! UrlSuffix(gcc/Optimize-Options.html#index-fno-profile-correction)
  
  fprofile-update=
  UrlSuffix(gcc/Instrumentation-Options.html#index-fprofile-update)
*************** fprofile-prefix-map=
*** 1233,1242 ****
  UrlSuffix(gcc/Instrumentation-Options.html#index-fprofile-prefix-map)
  
  fprofile-generate
! UrlSuffix(gcc/Instrumentation-Options.html#index-fprofile-generate)
  
  fprofile-generate=
! UrlSuffix(gcc/Instrumentation-Options.html#index-fprofile-generate)
  
  fprofile-info-section
  UrlSuffix(gcc/Instrumentation-Options.html#index-fprofile-info-section)
--- 1236,1245 ----
  UrlSuffix(gcc/Instrumentation-Options.html#index-fprofile-prefix-map)
  
  fprofile-generate
! UrlSuffix(gcc/Instrumentation-Options.html#index-fno-profile-generate)
  
  fprofile-generate=
! UrlSuffix(gcc/Instrumentation-Options.html#index-fno-profile-generate)
  
  fprofile-info-section
  UrlSuffix(gcc/Instrumentation-Options.html#index-fprofile-info-section)
*************** fprofile-info-section=
*** 1245,1281 ****
  UrlSuffix(gcc/Instrumentation-Options.html#index-fprofile-info-section)
  
  fprofile-partial-training
! UrlSuffix(gcc/Optimize-Options.html#index-fprofile-partial-training)
  
  fprofile-use
! UrlSuffix(gcc/Optimize-Options.html#index-fprofile-use)
  
  fprofile-use=
! UrlSuffix(gcc/Optimize-Options.html#index-fprofile-use)
  
  fprofile-values
! UrlSuffix(gcc/Optimize-Options.html#index-fprofile-values)
  
  fprofile-report
! UrlSuffix(gcc/Developer-Options.html#index-fprofile-report)
  
  fprofile-reorder-functions
! UrlSuffix(gcc/Optimize-Options.html#index-fprofile-reorder-functions)
  
  fpatchable-function-entry=
  UrlSuffix(gcc/Instrumentation-Options.html#index-fpatchable-function-entry)
  
  frandom-seed
! UrlSuffix(gcc/Developer-Options.html#index-frandom-seed)
  
  frandom-seed=
! UrlSuffix(gcc/Developer-Options.html#index-frandom-seed)
  
  frecord-gcc-switches
! UrlSuffix(gcc/Code-Gen-Options.html#index-frecord-gcc-switches)
  
  freg-struct-return
! UrlSuffix(gcc/Code-Gen-Options.html#index-freg-struct-return)
  
  flifetime-dse
  UrlSuffix(gcc/Optimize-Options.html#index-flifetime-dse)
--- 1248,1284 ----
  UrlSuffix(gcc/Instrumentation-Options.html#index-fprofile-info-section)
  
  fprofile-partial-training
! UrlSuffix(gcc/Optimize-Options.html#index-fno-profile-partial-training)
  
  fprofile-use
! UrlSuffix(gcc/Optimize-Options.html#index-fno-profile-use)
  
  fprofile-use=
! UrlSuffix(gcc/Optimize-Options.html#index-fno-profile-use)
  
  fprofile-values
! UrlSuffix(gcc/Optimize-Options.html#index-fno-profile-values)
  
  fprofile-report
! UrlSuffix(gcc/Developer-Options.html#index-fno-profile-report)
  
  fprofile-reorder-functions
! UrlSuffix(gcc/Optimize-Options.html#index-fno-profile-reorder-functions)
  
  fpatchable-function-entry=
  UrlSuffix(gcc/Instrumentation-Options.html#index-fpatchable-function-entry)
  
  frandom-seed
! UrlSuffix(gcc/Developer-Options.html#index-fno-random-seed)
  
  frandom-seed=
! UrlSuffix(gcc/Developer-Options.html#index-fno-random-seed)
  
  frecord-gcc-switches
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-record-gcc-switches)
  
  freg-struct-return
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-reg-struct-return)
  
  flifetime-dse
  UrlSuffix(gcc/Optimize-Options.html#index-flifetime-dse)
*************** flive-range-shrinkage
*** 1299,1455 ****
  UrlSuffix(gcc/Optimize-Options.html#index-flive-range-shrinkage)
  
  frename-registers
! UrlSuffix(gcc/Optimize-Options.html#index-frename-registers)
  
  fschedule-fusion
! UrlSuffix(gcc/Optimize-Options.html#index-fschedule-fusion)
  
  freorder-blocks
! UrlSuffix(gcc/Optimize-Options.html#index-freorder-blocks)
  
  freorder-blocks-algorithm=
! UrlSuffix(gcc/Optimize-Options.html#index-freorder-blocks-algorithm)
  
  freorder-blocks-and-partition
! UrlSuffix(gcc/Optimize-Options.html#index-freorder-blocks-and-partition)
  
  freorder-functions
! UrlSuffix(gcc/Optimize-Options.html#index-freorder-functions)
  
  frerun-cse-after-loop
! UrlSuffix(gcc/Optimize-Options.html#index-frerun-cse-after-loop)
  
  frounding-math
! UrlSuffix(gcc/Optimize-Options.html#index-frounding-math)
  
  fsched-interblock
  UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-interblock)
  
  fsched-pressure
! UrlSuffix(gcc/Optimize-Options.html#index-fsched-pressure)
  
  fsched-spec
  UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-spec)
  
  fsched-spec-load
! UrlSuffix(gcc/Optimize-Options.html#index-fsched-spec-load)
  
  fsched-spec-load-dangerous
! UrlSuffix(gcc/Optimize-Options.html#index-fsched-spec-load-dangerous)
  
  fsched-verbose=
  UrlSuffix(gcc/Developer-Options.html#index-fsched-verbose)
  
  fsched2-use-superblocks
! UrlSuffix(gcc/Optimize-Options.html#index-fsched2-use-superblocks)
  
  fschedule-insns
! UrlSuffix(gcc/Optimize-Options.html#index-fschedule-insns)
  
  fschedule-insns2
! UrlSuffix(gcc/Optimize-Options.html#index-fschedule-insns2)
  
  fselective-scheduling
! UrlSuffix(gcc/Optimize-Options.html#index-fselective-scheduling)
  
  fselective-scheduling2
! UrlSuffix(gcc/Optimize-Options.html#index-fselective-scheduling2)
  
  fsel-sched-pipelining
! UrlSuffix(gcc/Optimize-Options.html#index-fsel-sched-pipelining)
  
  fsel-sched-pipelining-outer-loops
! UrlSuffix(gcc/Optimize-Options.html#index-fsel-sched-pipelining-outer-loops)
  
  fsemantic-interposition
! UrlSuffix(gcc/Optimize-Options.html#index-fsemantic-interposition)
  
  fsched-stalled-insns
! UrlSuffix(gcc/Optimize-Options.html#index-fsched-stalled-insns)
  
  fsched-stalled-insns=
! UrlSuffix(gcc/Optimize-Options.html#index-fsched-stalled-insns)
  
  fsched-stalled-insns-dep
! UrlSuffix(gcc/Optimize-Options.html#index-fsched-stalled-insns-dep)
  
  fsched-stalled-insns-dep=
! UrlSuffix(gcc/Optimize-Options.html#index-fsched-stalled-insns-dep)
  
  fsched-group-heuristic
! UrlSuffix(gcc/Optimize-Options.html#index-fsched-group-heuristic)
  
  fsched-critical-path-heuristic
! UrlSuffix(gcc/Optimize-Options.html#index-fsched-critical-path-heuristic)
  
  fsched-spec-insn-heuristic
! UrlSuffix(gcc/Optimize-Options.html#index-fsched-spec-insn-heuristic)
  
  fsched-rank-heuristic
! UrlSuffix(gcc/Optimize-Options.html#index-fsched-rank-heuristic)
  
  fsched-last-insn-heuristic
! UrlSuffix(gcc/Optimize-Options.html#index-fsched-last-insn-heuristic)
  
  fsched-dep-count-heuristic
! UrlSuffix(gcc/Optimize-Options.html#index-fsched-dep-count-heuristic)
  
  fsection-anchors
! UrlSuffix(gcc/Optimize-Options.html#index-fsection-anchors)
  
  free
! UrlSuffix(gcc/Optimize-Options.html#index-free-1)
  
  fshow-column
  UrlSuffix(gcc/Diagnostic-Message-Formatting-Options.html#index-fno-show-column)
  
  fshrink-wrap
! UrlSuffix(gcc/Optimize-Options.html#index-fshrink-wrap)
  
  fshrink-wrap-separate
! UrlSuffix(gcc/Optimize-Options.html#index-fshrink-wrap-separate)
  
  fsignaling-nans
! UrlSuffix(gcc/Optimize-Options.html#index-fsignaling-nans)
  
  fsigned-zeros
  UrlSuffix(gcc/Optimize-Options.html#index-fno-signed-zeros)
  
  fsingle-precision-constant
! UrlSuffix(gcc/Optimize-Options.html#index-fsingle-precision-constant)
  
  fsplit-ivs-in-unroller
! UrlSuffix(gcc/Optimize-Options.html#index-fsplit-ivs-in-unroller)
  
  fsplit-stack
! UrlSuffix(gcc/Instrumentation-Options.html#index-fsplit-stack)
  
  fsplit-wide-types
! UrlSuffix(gcc/Optimize-Options.html#index-fsplit-wide-types)
  
  fsplit-wide-types-early
! UrlSuffix(gcc/Optimize-Options.html#index-fsplit-wide-types-early)
  
  fssa-backprop
! UrlSuffix(gcc/Optimize-Options.html#index-fssa-backprop)
  
  fssa-phiopt
! UrlSuffix(gcc/Optimize-Options.html#index-fssa-phiopt)
  
  fstdarg-opt
! UrlSuffix(gcc/Optimize-Options.html#index-fstdarg-opt)
  
  fvariable-expansion-in-unroller
! UrlSuffix(gcc/Optimize-Options.html#index-fvariable-expansion-in-unroller)
  
  fstack-check=
! UrlSuffix(gcc/Instrumentation-Options.html#index-fstack-check)
  
  fstack-check
! UrlSuffix(gcc/Instrumentation-Options.html#index-fstack-check)
  
  fstack-clash-protection
! UrlSuffix(gcc/Instrumentation-Options.html#index-fstack-clash-protection)
  
  fstack-limit
  UrlSuffix(gcc/Instrumentation-Options.html#index-fno-stack-limit)
--- 1302,1458 ----
  UrlSuffix(gcc/Optimize-Options.html#index-flive-range-shrinkage)
  
  frename-registers
! UrlSuffix(gcc/Optimize-Options.html#index-fno-rename-registers)
  
  fschedule-fusion
! UrlSuffix(gcc/Optimize-Options.html#index-fno-schedule-fusion)
  
  freorder-blocks
! UrlSuffix(gcc/Optimize-Options.html#index-fno-reorder-blocks)
  
  freorder-blocks-algorithm=
! UrlSuffix(gcc/Optimize-Options.html#index-fno-reorder-blocks-algorithm)
  
  freorder-blocks-and-partition
! UrlSuffix(gcc/Optimize-Options.html#index-fno-reorder-blocks-and-partition)
  
  freorder-functions
! UrlSuffix(gcc/Optimize-Options.html#index-fno-reorder-functions)
  
  frerun-cse-after-loop
! UrlSuffix(gcc/Optimize-Options.html#index-fno-rerun-cse-after-loop)
  
  frounding-math
! UrlSuffix(gcc/Optimize-Options.html#index-fno-rounding-math)
  
  fsched-interblock
  UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-interblock)
  
  fsched-pressure
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-pressure)
  
  fsched-spec
  UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-spec)
  
  fsched-spec-load
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-spec-load)
  
  fsched-spec-load-dangerous
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-spec-load-dangerous)
  
  fsched-verbose=
  UrlSuffix(gcc/Developer-Options.html#index-fsched-verbose)
  
  fsched2-use-superblocks
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sched2-use-superblocks)
  
  fschedule-insns
! UrlSuffix(gcc/Optimize-Options.html#index-fno-schedule-insns)
  
  fschedule-insns2
! UrlSuffix(gcc/Optimize-Options.html#index-fno-schedule-insns2)
  
  fselective-scheduling
! UrlSuffix(gcc/Optimize-Options.html#index-fno-selective-scheduling)
  
  fselective-scheduling2
! UrlSuffix(gcc/Optimize-Options.html#index-fno-selective-scheduling2)
  
  fsel-sched-pipelining
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sel-sched-pipelining)
  
  fsel-sched-pipelining-outer-loops
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sel-sched-pipelining-outer-loops)
  
  fsemantic-interposition
! UrlSuffix(gcc/Optimize-Options.html#index-fno-semantic-interposition)
  
  fsched-stalled-insns
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-stalled-insns)
  
  fsched-stalled-insns=
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-stalled-insns)
  
  fsched-stalled-insns-dep
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-stalled-insns-dep)
  
  fsched-stalled-insns-dep=
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-stalled-insns-dep)
  
  fsched-group-heuristic
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-group-heuristic)
  
  fsched-critical-path-heuristic
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-critical-path-heuristic)
  
  fsched-spec-insn-heuristic
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-spec-insn-heuristic)
  
  fsched-rank-heuristic
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-rank-heuristic)
  
  fsched-last-insn-heuristic
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-last-insn-heuristic)
  
  fsched-dep-count-heuristic
! UrlSuffix(gcc/Optimize-Options.html#index-fno-sched-dep-count-heuristic)
  
  fsection-anchors
! UrlSuffix(gcc/Optimize-Options.html#index-fno-section-anchors)
  
  free
! UrlSuffix(gcc/Optimize-Options.html#index-fno-ree)
  
  fshow-column
  UrlSuffix(gcc/Diagnostic-Message-Formatting-Options.html#index-fno-show-column)
  
  fshrink-wrap
! UrlSuffix(gcc/Optimize-Options.html#index-fno-shrink-wrap)
  
  fshrink-wrap-separate
! UrlSuffix(gcc/Optimize-Options.html#index-fno-shrink-wrap-separate)
  
  fsignaling-nans
! UrlSuffix(gcc/Optimize-Options.html#index-fno-signaling-nans)
  
  fsigned-zeros
  UrlSuffix(gcc/Optimize-Options.html#index-fno-signed-zeros)
  
  fsingle-precision-constant
! UrlSuffix(gcc/Optimize-Options.html#index-fno-single-precision-constant)
  
  fsplit-ivs-in-unroller
! UrlSuffix(gcc/Optimize-Options.html#index-fno-split-ivs-in-unroller)
  
  fsplit-stack
! UrlSuffix(gcc/Instrumentation-Options.html#index-fno-split-stack)
  
  fsplit-wide-types
! UrlSuffix(gcc/Optimize-Options.html#index-fno-split-wide-types)
  
  fsplit-wide-types-early
! UrlSuffix(gcc/Optimize-Options.html#index-fno-split-wide-types-early)
  
  fssa-backprop
! UrlSuffix(gcc/Optimize-Options.html#index-fno-ssa-backprop)
  
  fssa-phiopt
! UrlSuffix(gcc/Optimize-Options.html#index-fno-ssa-phiopt)
  
  fstdarg-opt
! UrlSuffix(gcc/Optimize-Options.html#index-fno-stdarg-opt)
  
  fvariable-expansion-in-unroller
! UrlSuffix(gcc/Optimize-Options.html#index-fno-variable-expansion-in-unroller)
  
  fstack-check=
! UrlSuffix(gcc/Instrumentation-Options.html#index-fno-stack-check)
  
  fstack-check
! UrlSuffix(gcc/Instrumentation-Options.html#index-fno-stack-check)
  
  fstack-clash-protection
! UrlSuffix(gcc/Instrumentation-Options.html#index-fno-stack-clash-protection)
  
  fstack-limit
  UrlSuffix(gcc/Instrumentation-Options.html#index-fno-stack-limit)
*************** fstack-limit-symbol=
*** 1461,1467 ****
  UrlSuffix(gcc/Instrumentation-Options.html#index-fstack-limit-symbol)
  
  fstack-protector
! UrlSuffix(gcc/Instrumentation-Options.html#index-fstack-protector)
  
  fstack-protector-all
  UrlSuffix(gcc/Instrumentation-Options.html#index-fstack-protector-all)
--- 1464,1470 ----
  UrlSuffix(gcc/Instrumentation-Options.html#index-fstack-limit-symbol)
  
  fstack-protector
! UrlSuffix(gcc/Instrumentation-Options.html#index-fno-stack-protector)
  
  fstack-protector-all
  UrlSuffix(gcc/Instrumentation-Options.html#index-fstack-protector-all)
*************** fstack-usage
*** 1476,1485 ****
  UrlSuffix(gcc/Developer-Options.html#index-fstack-usage)
  
  fstrict-aliasing
! UrlSuffix(gcc/Optimize-Options.html#index-fstrict-aliasing)
  
  fstrict-overflow
! UrlSuffix(gcc/Code-Gen-Options.html#index-fstrict-overflow)
  
  fstrub=disable
  UrlSuffix(gcc/Instrumentation-Options.html#index-fstrub_003ddisable)
--- 1479,1488 ----
  UrlSuffix(gcc/Developer-Options.html#index-fstack-usage)
  
  fstrict-aliasing
! UrlSuffix(gcc/Optimize-Options.html#index-fno-strict-aliasing)
  
  fstrict-overflow
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-strict-overflow)
  
  fstrub=disable
  UrlSuffix(gcc/Instrumentation-Options.html#index-fstrub_003ddisable)
*************** fstrub=internal
*** 1500,1521 ****
  UrlSuffix(gcc/Instrumentation-Options.html#index-fstrub_003dinternal)
  
  fsync-libcalls
! UrlSuffix(gcc/Code-Gen-Options.html#index-fsync-libcalls)
  
  fsyntax-only
! UrlSuffix(gcc/Warning-Options.html#index-fsyntax-only) LangUrlSuffix_D(gdc/Warnings.html#index-fno-syntax-only) LangUrlSuffix_Fortran(gfortran/Error-and-Warning-Options.html#index-fsyntax-only)
  
  ftest-coverage
! UrlSuffix(gcc/Instrumentation-Options.html#index-ftest-coverage)
  
  fthread-jumps
! UrlSuffix(gcc/Optimize-Options.html#index-fthread-jumps)
  
  ftime-report
! UrlSuffix(gcc/Developer-Options.html#index-ftime-report)
  
  ftime-report-details
! UrlSuffix(gcc/Developer-Options.html#index-ftime-report-details)
  
  ftls-model=
  UrlSuffix(gcc/Code-Gen-Options.html#index-ftls-model)
--- 1503,1524 ----
  UrlSuffix(gcc/Instrumentation-Options.html#index-fstrub_003dinternal)
  
  fsync-libcalls
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-sync-libcalls)
  
  fsyntax-only
! UrlSuffix(gcc/Warning-Options.html#index-fno-syntax-only) LangUrlSuffix_D(gdc/Warnings.html#index-fno-syntax-only) LangUrlSuffix_Fortran(gfortran/Error-and-Warning-Options.html#index-fsyntax-only)
  
  ftest-coverage
! UrlSuffix(gcc/Instrumentation-Options.html#index-fno-test-coverage)
  
  fthread-jumps
! UrlSuffix(gcc/Optimize-Options.html#index-fno-thread-jumps)
  
  ftime-report
! UrlSuffix(gcc/Developer-Options.html#index-fno-time-report)
  
  ftime-report-details
! UrlSuffix(gcc/Developer-Options.html#index-fno-time-report-details)
  
  ftls-model=
  UrlSuffix(gcc/Code-Gen-Options.html#index-ftls-model)
*************** ftoplevel-reorder
*** 1524,1533 ****
  UrlSuffix(gcc/Optimize-Options.html#index-fno-toplevel-reorder)
  
  ftracer
! UrlSuffix(gcc/Optimize-Options.html#index-ftracer)
  
  ftrampolines
! UrlSuffix(gcc/Code-Gen-Options.html#index-ftrampolines)
  
  ftrampoline-impl=
  UrlSuffix(gcc/Code-Gen-Options.html#index-ftrampoline-impl)
--- 1527,1536 ----
  UrlSuffix(gcc/Optimize-Options.html#index-fno-toplevel-reorder)
  
  ftracer
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tracer)
  
  ftrampolines
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-trampolines)
  
  ftrampoline-impl=
  UrlSuffix(gcc/Code-Gen-Options.html#index-ftrampoline-impl)
*************** ftrapping-math
*** 1536,1584 ****
  UrlSuffix(gcc/Optimize-Options.html#index-fno-trapping-math)
  
  ftrapv
! UrlSuffix(gcc/Code-Gen-Options.html#index-ftrapv)
  
  ftree-ccp
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-ccp)
  
  ftree-bit-ccp
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-bit-ccp)
  
  ftree-ch
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-ch)
  
  ftree-coalesce-vars
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-coalesce-vars)
  
  ftree-copy-prop
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-copy-prop)
  
  ftree-cselim
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-cselim)
  
  ftree-switch-conversion
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-switch-conversion)
  
  ftree-dce
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-dce)
  
  ftree-dominator-opts
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-dominator-opts)
  
  ftree-tail-merge
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-tail-merge)
  
  ftree-dse
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-dse)
  
  ftree-forwprop
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-forwprop)
  
  ftree-fre
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-fre)
  
  foptimize-strlen
! UrlSuffix(gcc/Optimize-Options.html#index-foptimize-strlen)
  
  fisolate-erroneous-paths-dereference
  UrlSuffix(gcc/Optimize-Options.html#index-fisolate-erroneous-paths-dereference)
--- 1539,1587 ----
  UrlSuffix(gcc/Optimize-Options.html#index-fno-trapping-math)
  
  ftrapv
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-trapv)
  
  ftree-ccp
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-ccp)
  
  ftree-bit-ccp
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-bit-ccp)
  
  ftree-ch
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-ch)
  
  ftree-coalesce-vars
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-coalesce-vars)
  
  ftree-copy-prop
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-copy-prop)
  
  ftree-cselim
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-cselim)
  
  ftree-switch-conversion
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-switch-conversion)
  
  ftree-dce
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-dce)
  
  ftree-dominator-opts
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-dominator-opts)
  
  ftree-tail-merge
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-tail-merge)
  
  ftree-dse
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-dse)
  
  ftree-forwprop
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-forwprop)
  
  ftree-fre
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-fre)
  
  foptimize-strlen
! UrlSuffix(gcc/Optimize-Options.html#index-fno-optimize-strlen)
  
  fisolate-erroneous-paths-dereference
  UrlSuffix(gcc/Optimize-Options.html#index-fisolate-erroneous-paths-dereference)
*************** fisolate-erroneous-paths-attribute
*** 1587,1698 ****
  UrlSuffix(gcc/Optimize-Options.html#index-fisolate-erroneous-paths-attribute)
  
  ftree-loop-distribution
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-loop-distribution)
  
  ftree-loop-distribute-patterns
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-loop-distribute-patterns)
  
  ftree-loop-im
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-loop-im)
  
  ftree-loop-linear
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-loop-linear)
  
  ftree-loop-ivcanon
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-loop-ivcanon)
  
  ftree-loop-optimize
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-loop-optimize)
  
  ftree-parallelize-loops=
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-parallelize-loops)
  
  ftree-parallelize-loops
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-parallelize-loops)
  
  ftree-phiprop
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-phiprop)
  
  ftree-pre
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-pre)
  
  ftree-partial-pre
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-partial-pre)
  
  ftree-pta
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-pta)
  
  ftree-reassoc
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-reassoc)
  
  ftree-sink
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-sink)
  
  ftree-slsr
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-slsr)
  
  ftree-sra
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-sra)
  
  ftree-ter
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-ter)
  
  ftree-vrp
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-vrp)
  
  fsplit-paths
! UrlSuffix(gcc/Optimize-Options.html#index-fsplit-paths)
  
  funconstrained-commons
! UrlSuffix(gcc/Optimize-Options.html#index-funconstrained-commons)
  
  funit-at-a-time
! UrlSuffix(gcc/Optimize-Options.html#index-funit-at-a-time)
  
  funreachable-traps
! UrlSuffix(gcc/Optimize-Options.html#index-funreachable-traps)
  
  funroll-loops
! UrlSuffix(gcc/Optimize-Options.html#index-funroll-loops)
  
  funroll-all-loops
! UrlSuffix(gcc/Optimize-Options.html#index-funroll-all-loops)
  
  fassociative-math
  UrlSuffix(gcc/Optimize-Options.html#index-fassociative-math)
  
  freciprocal-math
! UrlSuffix(gcc/Optimize-Options.html#index-freciprocal-math)
  
  funsafe-math-optimizations
! UrlSuffix(gcc/Optimize-Options.html#index-funsafe-math-optimizations)
  
  funswitch-loops
! UrlSuffix(gcc/Optimize-Options.html#index-funswitch-loops)
  
  fsplit-loops
! UrlSuffix(gcc/Optimize-Options.html#index-fsplit-loops)
  
  fversion-loops-for-strides
! UrlSuffix(gcc/Optimize-Options.html#index-fversion-loops-for-strides)
  
  funwind-tables
! UrlSuffix(gcc/Code-Gen-Options.html#index-funwind-tables)
  
  fuse-ld=bfd
! UrlSuffix(gcc/Link-Options.html#index-fuse-ld_003dbfd)
  
  fuse-ld=gold
! UrlSuffix(gcc/Link-Options.html#index-fuse-ld_003dgold)
  
  fuse-ld=lld
! UrlSuffix(gcc/Link-Options.html#index-fuse-ld_003dlld)
  
  fuse-ld=mold
! UrlSuffix(gcc/Link-Options.html#index-fuse-ld_003dmold)
  
  fuse-ld=wild
! UrlSuffix(gcc/Link-Options.html#index-fuse-ld_003dwild)
  
  fuse-linker-plugin
  UrlSuffix(gcc/Optimize-Options.html#index-fuse-linker-plugin)
--- 1590,1701 ----
  UrlSuffix(gcc/Optimize-Options.html#index-fisolate-erroneous-paths-attribute)
  
  ftree-loop-distribution
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-loop-distribution)
  
  ftree-loop-distribute-patterns
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-loop-distribute-patterns)
  
  ftree-loop-im
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-loop-im)
  
  ftree-loop-linear
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-loop-linear)
  
  ftree-loop-ivcanon
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-loop-ivcanon)
  
  ftree-loop-optimize
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-loop-optimize)
  
  ftree-parallelize-loops=
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-parallelize-loops)
  
  ftree-parallelize-loops
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-parallelize-loops)
  
  ftree-phiprop
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-phiprop)
  
  ftree-pre
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-pre)
  
  ftree-partial-pre
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-partial-pre)
  
  ftree-pta
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-pta)
  
  ftree-reassoc
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-reassoc)
  
  ftree-sink
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-sink)
  
  ftree-slsr
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-slsr)
  
  ftree-sra
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-sra)
  
  ftree-ter
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-ter)
  
  ftree-vrp
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-vrp)
  
  fsplit-paths
! UrlSuffix(gcc/Optimize-Options.html#index-fno-split-paths)
  
  funconstrained-commons
! UrlSuffix(gcc/Optimize-Options.html#index-fno-unconstrained-commons)
  
  funit-at-a-time
! UrlSuffix(gcc/Optimize-Options.html#index-fno-unit-at-a-time)
  
  funreachable-traps
! UrlSuffix(gcc/Optimize-Options.html#index-fno-unreachable-traps)
  
  funroll-loops
! UrlSuffix(gcc/Optimize-Options.html#index-fno-unroll-loops)
  
  funroll-all-loops
! UrlSuffix(gcc/Optimize-Options.html#index-fno-unroll-all-loops)
  
  fassociative-math
  UrlSuffix(gcc/Optimize-Options.html#index-fassociative-math)
  
  freciprocal-math
! UrlSuffix(gcc/Optimize-Options.html#index-fno-reciprocal-math)
  
  funsafe-math-optimizations
! UrlSuffix(gcc/Optimize-Options.html#index-fno-unsafe-math-optimizations)
  
  funswitch-loops
! UrlSuffix(gcc/Optimize-Options.html#index-fno-unswitch-loops)
  
  fsplit-loops
! UrlSuffix(gcc/Optimize-Options.html#index-fno-split-loops)
  
  fversion-loops-for-strides
! UrlSuffix(gcc/Optimize-Options.html#index-fno-version-loops-for-strides)
  
  funwind-tables
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-unwind-tables)
  
  fuse-ld=bfd
! UrlSuffix(gcc/Link-Options.html#index-fno-use-ld_003dbfd)
  
  fuse-ld=gold
! UrlSuffix(gcc/Link-Options.html#index-fno-use-ld_003dgold)
  
  fuse-ld=lld
! UrlSuffix(gcc/Link-Options.html#index-fno-use-ld_003dlld)
  
  fuse-ld=mold
! UrlSuffix(gcc/Link-Options.html#index-fno-use-ld_003dmold)
  
  fuse-ld=wild
! UrlSuffix(gcc/Link-Options.html#index-fno-use-ld_003dwild)
  
  fuse-linker-plugin
  UrlSuffix(gcc/Optimize-Options.html#index-fuse-linker-plugin)
*************** flink-libatomic
*** 1701,1707 ****
  UrlSuffix(gcc/Link-Options.html#index-flink-libatomic)
  
  fvar-tracking
! UrlSuffix(gcc/Debugging-Options.html#index-fvar-tracking)
  
  fvar-tracking-assignments
  UrlSuffix(gcc/Debugging-Options.html#index-fno-var-tracking-assignments)
--- 1704,1710 ----
  UrlSuffix(gcc/Link-Options.html#index-flink-libatomic)
  
  fvar-tracking
! UrlSuffix(gcc/Debugging-Options.html#index-fno-var-tracking)
  
  fvar-tracking-assignments
  UrlSuffix(gcc/Debugging-Options.html#index-fno-var-tracking-assignments)
*************** fvar-tracking-uninit
*** 1713,1743 ****
  UrlSuffix(gcc/Debugging-Options.html#index-fno-var-tracking-uninit)
  
  ftree-vectorize
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-vectorize)
  
  ftree-loop-vectorize
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-loop-vectorize)
  
  ftree-slp-vectorize
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-slp-vectorize)
  
  fvect-cost-model=
! UrlSuffix(gcc/Optimize-Options.html#index-fvect-cost-model)
  
  fsimd-cost-model=
  UrlSuffix(gcc/Optimize-Options.html#index-fsimd-cost-model)
  
  fvect-cost-model
! UrlSuffix(gcc/Optimize-Options.html#index-fvect-cost-model)
  
  ftree-scev-cprop
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-scev-cprop)
  
  ftrivial-auto-var-init=
  UrlSuffix(gcc/Optimize-Options.html#index-ftrivial-auto-var-init)
  
  fverbose-asm
! UrlSuffix(gcc/Code-Gen-Options.html#index-fverbose-asm)
  
  fvisibility=
  UrlSuffix(gcc/Code-Gen-Options.html#index-fvisibility)
--- 1716,1746 ----
  UrlSuffix(gcc/Debugging-Options.html#index-fno-var-tracking-uninit)
  
  ftree-vectorize
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-vectorize)
  
  ftree-loop-vectorize
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-loop-vectorize)
  
  ftree-slp-vectorize
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-slp-vectorize)
  
  fvect-cost-model=
! UrlSuffix(gcc/Optimize-Options.html#index-fno-vect-cost-model)
  
  fsimd-cost-model=
  UrlSuffix(gcc/Optimize-Options.html#index-fsimd-cost-model)
  
  fvect-cost-model
! UrlSuffix(gcc/Optimize-Options.html#index-fno-vect-cost-model)
  
  ftree-scev-cprop
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-scev-cprop)
  
  ftrivial-auto-var-init=
  UrlSuffix(gcc/Optimize-Options.html#index-ftrivial-auto-var-init)
  
  fverbose-asm
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-verbose-asm)
  
  fvisibility=
  UrlSuffix(gcc/Code-Gen-Options.html#index-fvisibility)
*************** fvtable-verify=
*** 1746,1773 ****
  UrlSuffix(gcc/Instrumentation-Options.html#index-fvtable-verify)
  
  fvtv-counts
! UrlSuffix(gcc/Instrumentation-Options.html#index-fvtv-counts)
  
  fvtv-debug
! UrlSuffix(gcc/Instrumentation-Options.html#index-fvtv-debug)
  
  fvpt
! UrlSuffix(gcc/Optimize-Options.html#index-fvpt)
  
  fweb
! UrlSuffix(gcc/Optimize-Options.html#index-fweb)
  
  ftree-builtin-call-dce
! UrlSuffix(gcc/Optimize-Options.html#index-ftree-builtin-call-dce)
  
  fwhole-program
! UrlSuffix(gcc/Optimize-Options.html#index-fwhole-program)
  
  fwrapv-pointer
! UrlSuffix(gcc/Code-Gen-Options.html#index-fwrapv-pointer)
  
  fwrapv
! UrlSuffix(gcc/Code-Gen-Options.html#index-fwrapv)
  
  fzero-initialized-in-bss
  UrlSuffix(gcc/Optimize-Options.html#index-fno-zero-initialized-in-bss)
--- 1749,1776 ----
  UrlSuffix(gcc/Instrumentation-Options.html#index-fvtable-verify)
  
  fvtv-counts
! UrlSuffix(gcc/Instrumentation-Options.html#index-fno-vtv-counts)
  
  fvtv-debug
! UrlSuffix(gcc/Instrumentation-Options.html#index-fno-vtv-debug)
  
  fvpt
! UrlSuffix(gcc/Optimize-Options.html#index-fno-vpt)
  
  fweb
! UrlSuffix(gcc/Optimize-Options.html#index-fno-web)
  
  ftree-builtin-call-dce
! UrlSuffix(gcc/Optimize-Options.html#index-fno-tree-builtin-call-dce)
  
  fwhole-program
! UrlSuffix(gcc/Optimize-Options.html#index-fno-whole-program)
  
  fwrapv-pointer
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-wrapv-pointer)
  
  fwrapv
! UrlSuffix(gcc/Code-Gen-Options.html#index-fno-wrapv)
  
  fzero-initialized-in-bss
  UrlSuffix(gcc/Optimize-Options.html#index-fno-zero-initialized-in-bss)
*************** UrlSuffix(gcc/Debugging-Options.html#ind
*** 1862,1867 ****
--- 1865,1873 ----
  iplugindir=
  UrlSuffix(gcc/Directory-Options.html#index-iplugindir_003d)
  
+ imultiarch
+ UrlSuffix(gcc/Directory-Options.html#index-imultiarch)
+ 
  l
  UrlSuffix(gcc/Link-Options.html#index-l)
  
diff -Nrcpad gcc-16-20260118/gcc/config/aarch64/aarch64-simd.md gcc-16-20260125/gcc/config/aarch64/aarch64-simd.md
*** gcc-16-20260118/gcc/config/aarch64/aarch64-simd.md	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/aarch64/aarch64-simd.md	Sun Jan 25 22:32:06 2026
***************
*** 18,40 ****
  ;; along with GCC; see the file COPYING3.  If not see
  ;; <http://www.gnu.org/licenses/>.
  
! ;; Code organisation:
! ;
! ;; The lines of is an instruction is aarch64, simd, sve, sve2, or sme are
! ;; a little blurry.
! ;;
! ;; Therefore code is organised by the following rough principles:
! ;;
! ;; - aarch64.md: For shared parts of the architecture (such as defining
! ;;     registers and constants) and for instructions that operate on non-SIMD
! ;;     registers.
! ;; - aarch64-simd.md: For instructions that operate on non-scaling SIMD
! ;;     registers.
! ;; - aarch64-sve.md for SVE instructions that are pre SVE2.
! ;; - aarch64-sme.md for any scalable SIMD instruction that is incompatible with
! ;;     non-streaming mode. This usually means it uses the ZA or ZT register.
! ;; - aarch64-sve2.md for any scalable SIMD instruction that either is
! ;;     streaming compatible, or theoretically could be later.
  
  ;; The following define_subst rules are used to produce patterns representing
  ;; the implicit zeroing effect of 64-bit Advanced SIMD operations, in effect
--- 18,24 ----
  ;; along with GCC; see the file COPYING3.  If not see
  ;; <http://www.gnu.org/licenses/>.
  
! ;; Code organization: See block comment at the top of aarch64.md.
  
  ;; The following define_subst rules are used to produce patterns representing
  ;; the implicit zeroing effect of 64-bit Advanced SIMD operations, in effect
***************
*** 9579,9587 ****
  	 (match_operand:V2DI 3 "aarch64_simd_lshift_imm" "Dl")))]
    "TARGET_SHA3"
    {
      operands[3]
!       = GEN_INT (64 - INTVAL (unwrap_const_vec_duplicate (operands[3])));
!     return "xar\\t%0.2d, %1.2d, %2.2d, %3";
    }
    [(set_attr "type" "crypto_sha3")]
  )
--- 9563,9575 ----
  	 (match_operand:V2DI 3 "aarch64_simd_lshift_imm" "Dl")))]
    "TARGET_SHA3"
    {
+     /* Translate the RTL left-rotate amount into the assembly right-rotate
+        amount.  Modulo by 64 to ensure that a left-rotate of 0 is emitted
+        as a right-rotate of 0 as accepted by the assembly instruction.  */
      operands[3]
!       = GEN_INT ((64 - INTVAL (unwrap_const_vec_duplicate (operands[3])))
! 		  % 64);
!     return "xar\\t%0.2d, %1.2d, %2.2d, #%3";
    }
    [(set_attr "type" "crypto_sha3")]
  )
***************
*** 9601,9609 ****
  	 (match_operand:SI 3 "aarch64_simd_shift_imm_di")))]
    "TARGET_SHA3"
    {
!     operands[3]
!       = aarch64_simd_gen_const_vector_dup (V2DImode,
! 					   64 - INTVAL (operands[3]));
    }
  )
  
--- 9589,9600 ----
  	 (match_operand:SI 3 "aarch64_simd_shift_imm_di")))]
    "TARGET_SHA3"
    {
!       operands[3]
!         = aarch64_simd_gen_const_vector_dup (V2DImode,
! 					     /* In the edge case of a 0 rotate
! 						amount leave as is.  */
! 					     operands[3] == CONST0_RTX (SImode)
! 					       ? 0 : 64 - INTVAL (operands[3]));
    }
  )
  
diff -Nrcpad gcc-16-20260118/gcc/config/aarch64/aarch64-sme.md gcc-16-20260125/gcc/config/aarch64/aarch64-sme.md
*** gcc-16-20260118/gcc/config/aarch64/aarch64-sme.md	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/aarch64/aarch64-sme.md	Sun Jan 25 22:32:06 2026
***************
*** 17,39 ****
  ;; along with GCC; see the file COPYING3.  If not see
  ;; <http://www.gnu.org/licenses/>.
  
! ;; Code organisation:
! ;
! ;; The lines of is an instruction is aarch64, simd, sve, sve2, or sme are
! ;; a little blurry.
! ;;
! ;; Therefore code is organised by the following rough principles:
! ;;
! ;; - aarch64.md: For shared parts of the architecture (such as defining
! ;;     registers and constants) and for instructions that operate on non-SIMD
! ;;     registers.
! ;; - aarch64-simd.md: For instructions that operate on non-scaling SIMD
! ;;     registers.
! ;; - aarch64-sve.md for SVE instructions that are pre SVE2.
! ;; - aarch64-sme.md for any scalable SIMD instruction that is incompatible with
! ;;     non-streaming mode. This usually means it uses the ZA or ZT register.
! ;; - aarch64-sve2.md for any scalable SIMD instruction that either is
! ;;     streaming compatible, or theoretically could be later.
  
  ;; The file is organised into the following sections (search for the full
  ;; line):
--- 17,23 ----
  ;; along with GCC; see the file COPYING3.  If not see
  ;; <http://www.gnu.org/licenses/>.
  
! ;; Code organization: See block comment at the top of aarch64.md.
  
  ;; The file is organised into the following sections (search for the full
  ;; line):
diff -Nrcpad gcc-16-20260118/gcc/config/aarch64/aarch64-sve-builtins-base.def gcc-16-20260125/gcc/config/aarch64/aarch64-sve-builtins-base.def
*** gcc-16-20260118/gcc/config/aarch64/aarch64-sve-builtins-base.def	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/aarch64/aarch64-sve-builtins-base.def	Sun Jan 25 22:32:06 2026
***************
*** 17,38 ****
     along with GCC; see the file COPYING3.  If not see
     <http://www.gnu.org/licenses/>.  */
  
! /* Code organisation:
! 
!    The lines defining if an intrinsic is for sve, sve2, sme, and sme2 can get
!    a little blurry.
! 
!    Therefore code is organised by the following rough principles:
! 
!    - aarch64-sve-builtins-sme.def for any intrinsic that is fundamentally
!      incompatible with non-streaming mode. This usually means it uses the ZA
!      or ZT register.
!    - aarch64-sve-builtins-sve2.def for any intrinsic that that is a streaming mode
!      intrinsic, but either is non-streaming compatible, or theoretically could
!      be later.
!    - aarch64-sve-builtins-base.def for SVE intrinsics that are pre SVE2.
!    - aarch64-sve-builtins.def for common data types and group definitions used
!      across all files.  */
  
  #define REQUIRED_EXTENSIONS ssve (0)
  DEF_SVE_FUNCTION (svabd, binary_opt_n, all_arith, mxz)
--- 17,24 ----
     along with GCC; see the file COPYING3.  If not see
     <http://www.gnu.org/licenses/>.  */
  
! /* Code organization: See block comment at the top of
!    aarch64-sve-builtins.def.  */
  
  #define REQUIRED_EXTENSIONS ssve (0)
  DEF_SVE_FUNCTION (svabd, binary_opt_n, all_arith, mxz)
diff -Nrcpad gcc-16-20260118/gcc/config/aarch64/aarch64-sve-builtins-sme.def gcc-16-20260125/gcc/config/aarch64/aarch64-sve-builtins-sme.def
*** gcc-16-20260118/gcc/config/aarch64/aarch64-sve-builtins-sme.def	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/aarch64/aarch64-sve-builtins-sme.def	Sun Jan 25 22:32:06 2026
***************
*** 17,38 ****
     along with GCC; see the file COPYING3.  If not see
     <http://www.gnu.org/licenses/>.  */
  
! /* Code organisation:
! 
!    The lines defining if an intrinsic is for sve, sve2, sme, and sme2 can get
!    a little blurry.
! 
!    Therefore code is organised by the following rough principles:
! 
!    - aarch64-sve-builtins-sme.def for any intrinsic that is fundamentally
!      incompatible with non-streaming mode. This usually means it uses the ZA
!      or ZT register.
!    - aarch64-sve-builtins-sve2.def for any intrinsic that that is a streaming mode
!      intrinsic, but either is non-streaming compatible, or theoretically could
!      be later.
!    - aarch64-sve-builtins-base.def for SVE intrinsics that are pre SVE2.
!    - aarch64-sve-builtins.def for common data types and group definitions used
!      across all files.  */
  
  #ifndef DEF_SME_FUNCTION_GS
  #define DEF_SME_FUNCTION_GS(NAME, SHAPE, TYPES, GROUPS, PREDS) \
--- 17,24 ----
     along with GCC; see the file COPYING3.  If not see
     <http://www.gnu.org/licenses/>.  */
  
! /* Code organization: See block comment at the top of
!    aarch64-sve-builtins.def.  */
  
  #ifndef DEF_SME_FUNCTION_GS
  #define DEF_SME_FUNCTION_GS(NAME, SHAPE, TYPES, GROUPS, PREDS) \
diff -Nrcpad gcc-16-20260118/gcc/config/aarch64/aarch64-sve-builtins-sve2.def gcc-16-20260125/gcc/config/aarch64/aarch64-sve-builtins-sve2.def
*** gcc-16-20260118/gcc/config/aarch64/aarch64-sve-builtins-sve2.def	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/aarch64/aarch64-sve-builtins-sve2.def	Sun Jan 25 22:32:06 2026
***************
*** 17,38 ****
     along with GCC; see the file COPYING3.  If not see
     <http://www.gnu.org/licenses/>.  */
  
! /* Code organisation:
! 
!    The lines defining if an intrinsic is for sve, sve2, sme, and sme2 can get
!    a little blurry.
! 
!    Therefore code is organised by the following rough principles:
! 
!    - aarch64-sve-builtins-sme.def for any intrinsic that is fundamentally
!      incompatible with non-streaming mode. This usually means it uses the ZA
!      or ZT register.
!    - aarch64-sve-builtins-sve2.def for any intrinsic that that is a streaming mode
!      intrinsic, but either is non-streaming compatible, or theoretically could
!      be later.
!    - aarch64-sve-builtins-base.def for SVE intrinsics that are pre SVE2.
!    - aarch64-sve-builtins.def for common data types and group definitions used
!      across all files.  */
  
  #define REQUIRED_EXTENSIONS sve_and_sme (AARCH64_FL_SVE2, 0)
  DEF_SVE_FUNCTION (svaba, ternary_opt_n, all_integer, none)
--- 17,24 ----
     along with GCC; see the file COPYING3.  If not see
     <http://www.gnu.org/licenses/>.  */
  
! /* Code organization: See block comment at the top of
!    aarch64-sve-builtins.def.  */
  
  #define REQUIRED_EXTENSIONS sve_and_sme (AARCH64_FL_SVE2, 0)
  DEF_SVE_FUNCTION (svaba, ternary_opt_n, all_integer, none)
diff -Nrcpad gcc-16-20260118/gcc/config/aarch64/aarch64-sve-builtins.def gcc-16-20260125/gcc/config/aarch64/aarch64-sve-builtins.def
*** gcc-16-20260118/gcc/config/aarch64/aarch64-sve-builtins.def	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/aarch64/aarch64-sve-builtins.def	Sun Jan 25 22:32:06 2026
***************
*** 17,38 ****
     along with GCC; see the file COPYING3.  If not see
     <http://www.gnu.org/licenses/>.  */
  
! /* Code organisation:
  
!    The lines defining if an intrinsic is for sve, sve2, sme, and sme2 can get
!    a little blurry.
  
!    Therefore code is organised by the following rough principles:
  
!    - aarch64-sve-builtins-sme.def for any intrinsic that is fundamentally
!      incompatible with non-streaming mode. This usually means it uses the ZA
!      or ZT register.
!    - aarch64-sve-builtins-sve2.def for any intrinsic that that is a streaming mode
!      intrinsic, but either is non-streaming compatible, or theoretically could
!      be later.
!    - aarch64-sve-builtins-base.def for SVE intrinsics that are pre SVE2.
!    - aarch64-sve-builtins.def for common data types and group definitions used
!      across all files.  */
  
  #ifndef DEF_SVE_MODE
  #define DEF_SVE_MODE(A, B, C, D)
--- 17,40 ----
     along with GCC; see the file COPYING3.  If not see
     <http://www.gnu.org/licenses/>.  */
  
! /* Code organization:
  
!    The taxonomic lines dividing intrinsics into sve, sve2, and sme are perhaps
!    a little non-obvious.
  
!    The code is organized by the following rough principles:
  
!    - aarch64-sve-builtins.def for common data types, groups, and other
!        supporting definitions used across all files.
!    - aarch64-sve-builtins-base.def for the baseline SVE intrinsics which predate
!        SVE2 and SME.
!    - aarch64-sve-builtins-sve2.def for any scalable SIMD intrinsic that is
!        enabled by an SVE2+ or SME+ extension and doesn't directly touch SME
!        state (such as ZA or ZT0) and only involves regular SVE vectors and
!        predicates.
!    - aarch64-sve-builtins-sme.def for any SME+ instinsic that is clearly
!        streaming mode only.  This usually means it uses the ZA or ZT0 registers,
!        or other SME state.  */
  
  #ifndef DEF_SVE_MODE
  #define DEF_SVE_MODE(A, B, C, D)
diff -Nrcpad gcc-16-20260118/gcc/config/aarch64/aarch64-sve.md gcc-16-20260125/gcc/config/aarch64/aarch64-sve.md
*** gcc-16-20260118/gcc/config/aarch64/aarch64-sve.md	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/aarch64/aarch64-sve.md	Sun Jan 25 22:32:06 2026
***************
*** 18,40 ****
  ;; along with GCC; see the file COPYING3.  If not see
  ;; <http://www.gnu.org/licenses/>.
  
! ;; Code organisation:
! ;
! ;; The lines of is an instruction is aarch64, simd, sve, sve2, or sme are
! ;; a little blurry.
! ;;
! ;; Therefore code is organised by the following rough principles:
! ;;
! ;; - aarch64.md: For shared parts of the architecture (such as defining
! ;;     registers and constants) and for instructions that operate on non-SIMD
! ;;     registers.
! ;; - aarch64-simd.md: For instructions that operate on non-scaling SIMD
! ;;     registers.
! ;; - aarch64-sve.md for SVE instructions that are pre SVE2.
! ;; - aarch64-sme.md for any scalable SIMD instruction that is incompatible with
! ;;     non-streaming mode. This usually means it uses the ZA or ZT register.
! ;; - aarch64-sve2.md for any scalable SIMD instruction that either is
! ;;     streaming compatible, or theoretically could be later.
  
  ;; The file is organised into the following sections (search for the full
  ;; line):
--- 18,24 ----
  ;; along with GCC; see the file COPYING3.  If not see
  ;; <http://www.gnu.org/licenses/>.
  
! ;; Code organization: See block comment at the top of aarch64.md.
  
  ;; The file is organised into the following sections (search for the full
  ;; line):
diff -Nrcpad gcc-16-20260118/gcc/config/aarch64/aarch64-sve2.md gcc-16-20260125/gcc/config/aarch64/aarch64-sve2.md
*** gcc-16-20260118/gcc/config/aarch64/aarch64-sve2.md	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/aarch64/aarch64-sve2.md	Sun Jan 25 22:32:06 2026
***************
*** 17,40 ****
  ;; You should have received a copy of the GNU General Public License
  ;; along with GCC; see the file COPYING3.  If not see
  ;; <http://www.gnu.org/licenses/>.
! ; 
! ;; Code organisation:
! ;
! ;; The lines of is an instruction is aarch64, simd, sve, sve2, or sme are
! ;; a little blurry.
! ;;
! ;; Therefore code is organised by the following rough principles:
! ;;
! ;; - aarch64.md: For shared parts of the architecture (such as defining
! ;;     registers and constants) and for instructions that operate on non-SIMD
! ;;     registers.
! ;; - aarch64-simd.md: For instructions that operate on non-scaling SIMD
! ;;     registers.
! ;; - aarch64-sve.md for SVE instructions that are pre SVE2.
! ;; - aarch64-sme.md for any scalable SIMD instruction that is incompatible with
! ;;     non-streaming mode. This usually means it uses the ZA or ZT register.
! ;; - aarch64-sve2.md for any scalable SIMD instruction that either is
! ;;     streaming compatible, or theoretically could be later.
  
  ;; The file is organised into the following sections (search for the full
  ;; line):
--- 17,24 ----
  ;; You should have received a copy of the GNU General Public License
  ;; along with GCC; see the file COPYING3.  If not see
  ;; <http://www.gnu.org/licenses/>.
! 
! ;; Code organization: See block comment at the top of aarch64.md.
  
  ;; The file is organised into the following sections (search for the full
  ;; line):
diff -Nrcpad gcc-16-20260118/gcc/config/aarch64/aarch64.cc gcc-16-20260125/gcc/config/aarch64/aarch64.cc
*** gcc-16-20260118/gcc/config/aarch64/aarch64.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/aarch64/aarch64.cc	Sun Jan 25 22:32:06 2026
*************** aarch64_possible_by_lane_insn_p (vec_inf
*** 18536,18541 ****
--- 18536,18543 ----
    FOR_EACH_IMM_USE_FAST (use_p, iter, var)
      {
        gimple *new_stmt = USE_STMT (use_p);
+       if (is_gimple_debug (new_stmt))
+ 	continue;
        auto stmt_info = vect_stmt_to_vectorize (m_vinfo->lookup_stmt (new_stmt));
        auto rep_stmt = STMT_VINFO_STMT (stmt_info);
        /* Re-association is a problem here, since lane instructions are only
diff -Nrcpad gcc-16-20260118/gcc/config/aarch64/aarch64.md gcc-16-20260125/gcc/config/aarch64/aarch64.md
*** gcc-16-20260118/gcc/config/aarch64/aarch64.md	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/aarch64/aarch64.md	Sun Jan 25 22:32:07 2026
***************
*** 18,40 ****
  ;; along with GCC; see the file COPYING3.  If not see
  ;; <http://www.gnu.org/licenses/>.
  
! ;; Code organisation:
  ;
! ;; The lines of is an instruction is aarch64, simd, sve, sve2, or sme are
! ;; a little blurry.
  ;;
! ;; Therefore code is organised by the following rough principles:
  ;;
! ;; - aarch64.md: For shared parts of the architecture (such as defining
! ;;     registers and constants) and for instructions that operate on non-SIMD
! ;;     registers.
! ;; - aarch64-simd.md: For instructions that operate on non-scaling SIMD
  ;;     registers.
! ;; - aarch64-sve.md for SVE instructions that are pre SVE2.
! ;; - aarch64-sme.md for any scalable SIMD instruction that is incompatible with
! ;;     non-streaming mode. This usually means it uses the ZA or ZT register.
! ;; - aarch64-sve2.md for any scalable SIMD instruction that either is
! ;;     streaming compatible, or theoretically could be later.
  
  ;; Register numbers
  (define_constants
--- 18,43 ----
  ;; along with GCC; see the file COPYING3.  If not see
  ;; <http://www.gnu.org/licenses/>.
  
! ;; Code organization:
  ;
! ;; The taxonomic lines dividing instructions into aarch64, simd, sve, sve2,
! ;; and sme are perhaps a little non-obvious.
  ;;
! ;; The code is organized by the following rough principles:
  ;;
! ;; - aarch64.md for shared parts of the architecture (such as defining
! ;;     registers and constants) and for instructions that operate on
! ;;     general-purpose registers.
! ;; - aarch64-simd.md for instructions that operate on Advanced SIMD
  ;;     registers.
! ;; - aarch64-sve.md for the baseline SVE instructions which predate SVE2 and
! ;;     SME.
! ;; - aarch64-sve2.md for any scalable SIMD instruction that is enabled by an
! ;;     SVE2+ or SME+ extension and doesn't directly touch SME state (such as ZA,
! ;;     or ZT0) and only involves regular SVE vectors and predicates.
! ;; - aarch64-sme.md for any scalable SIMD instruction that is clearly
! ;;     streaming mode only.  This usually means it uses the ZA or ZT0 register
! ;;     or other SME state.
  
  ;; Register numbers
  (define_constants
diff -Nrcpad gcc-16-20260118/gcc/config/alpha/alpha.opt.urls gcc-16-20260125/gcc/config/alpha/alpha.opt.urls
*** gcc-16-20260118/gcc/config/alpha/alpha.opt.urls	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/alpha/alpha.opt.urls	Sun Jan 25 22:32:07 2026
***************
*** 3,8 ****
--- 3,11 ----
  msoft-float
  UrlSuffix(gcc/DEC-Alpha-Options.html#index-msoft-float-1)
  
+ mfp-regs
+ UrlSuffix(gcc/DEC-Alpha-Options.html#index-mfp-regs)
+ 
  ; skipping UrlSuffix for 'mgas' due to finding no URLs
  
  mieee-conformant
diff -Nrcpad gcc-16-20260118/gcc/config/arc/arc.opt.urls gcc-16-20260125/gcc/config/arc/arc.opt.urls
*** gcc-16-20260118/gcc/config/arc/arc.opt.urls	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/arc/arc.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/ARC-Options.html#index-mfp
*** 171,177 ****
  mtp-regno=
  UrlSuffix(gcc/ARC-Options.html#index-mtp-regno)
  
! ; skipping UrlSuffix for 'mbitops' due to finding no URLs
  
  ; skipping UrlSuffix for 'munaligned-access' due to finding no URLs
  
--- 171,181 ----
  mtp-regno=
  UrlSuffix(gcc/ARC-Options.html#index-mtp-regno)
  
! mbitops
! UrlSuffix(gcc/ARC-Options.html#index-mbitops)
! 
! mcmem
! UrlSuffix(gcc/ARC-Options.html#index-mcmem)
  
  ; skipping UrlSuffix for 'munaligned-access' due to finding no URLs
  
diff -Nrcpad gcc-16-20260118/gcc/config/arm/arm.opt.urls gcc-16-20260125/gcc/config/arm/arm.opt.urls
*** gcc-16-20260118/gcc/config/arm/arm.opt.urls	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/arm/arm.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/ARM-Options.html#index-mtp
*** 91,96 ****
--- 91,102 ----
  mtune=
  UrlSuffix(gcc/ARM-Options.html#index-mtune-3)
  
+ mvectorize-with-neon-quad
+ UrlSuffix(gcc/ARM-Options.html#index-mvectorize-with-neon-quad)
+ 
+ mvectorize-with-neon-double
+ UrlSuffix(gcc/ARM-Options.html#index-mvectorize-with-neon-double)
+ 
  mword-relocations
  UrlSuffix(gcc/ARM-Options.html#index-mword-relocations)
  
*************** UrlSuffix(gcc/ARM-Options.html#index-mfi
*** 103,108 ****
--- 109,120 ----
  mfix-cmse-cve-2021-35465
  UrlSuffix(gcc/ARM-Options.html#index-mfix-cmse-cve-2021-35465)
  
+ mfix-cortex-a57-aes-1742098
+ UrlSuffix(gcc/ARM-Options.html#index-mfix-cortex-a57-aes-1742098)
+ 
+ mfix-cortex-a72-aes-1655431
+ UrlSuffix(gcc/ARM-Options.html#index-mfix-cortex-a72-aes-1655431)
+ 
  munaligned-access
  UrlSuffix(gcc/ARM-Options.html#index-munaligned-access)
  
*************** UrlSuffix(gcc/ARM-Options.html#index-mpu
*** 118,123 ****
--- 130,138 ----
  mbe8
  UrlSuffix(gcc/ARM-Options.html#index-mbe8)
  
+ mbe32
+ UrlSuffix(gcc/ARM-Options.html#index-mbe32)
+ 
  ; skipping UrlSuffix for 'mbranch-cost=' due to finding no URLs
  
  mbranch-protection=
diff -Nrcpad gcc-16-20260118/gcc/config/arm/neon.md gcc-16-20260125/gcc/config/arm/neon.md
*** gcc-16-20260118/gcc/config/arm/neon.md	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/arm/neon.md	Sun Jan 25 22:32:07 2026
***************
*** 879,889 ****
    [(set_attr "type" "neon_minmax<q>")]
  )
  
! (define_insn "*smin<mode>3_neon"
!   [(set (match_operand:VDQW 0 "s_register_operand" "=w")
! 	(smin:VDQW (match_operand:VDQW 1 "s_register_operand" "w")
! 		   (match_operand:VDQW 2 "s_register_operand" "w")))]
!   "TARGET_NEON"
    "vmin.<V_s_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2"
    [(set (attr "type")
        (if_then_else (match_test "<Is_float_mode>")
--- 879,889 ----
    [(set_attr "type" "neon_minmax<q>")]
  )
  
! (define_insn "*smin<VDQWH:mode>3_neon"
!   [(set (match_operand:VDQWH 0 "s_register_operand" "=w")
! 	(smin:VDQWH (match_operand:VDQWH 1 "s_register_operand" "w")
! 		    (match_operand:VDQWH 2 "s_register_operand" "w")))]
!   "ARM_HAVE_NEON_<MODE>_ARITH"
    "vmin.<V_s_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2"
    [(set (attr "type")
        (if_then_else (match_test "<Is_float_mode>")
***************
*** 891,901 ****
                      (const_string "neon_minmax<q>")))]
  )
  
! (define_insn "*smax<mode>3_neon"
!   [(set (match_operand:VDQW 0 "s_register_operand" "=w")
! 	(smax:VDQW (match_operand:VDQW 1 "s_register_operand" "w")
! 		   (match_operand:VDQW 2 "s_register_operand" "w")))]
!   "TARGET_NEON"
    "vmax.<V_s_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2"
    [(set (attr "type")
        (if_then_else (match_test "<Is_float_mode>")
--- 891,901 ----
                      (const_string "neon_minmax<q>")))]
  )
  
! (define_insn "*smax<VDQWH:mode>3_neon"
!   [(set (match_operand:VDQWH 0 "s_register_operand" "=w")
! 	(smax:VDQWH (match_operand:VDQWH 1 "s_register_operand" "w")
! 		    (match_operand:VDQWH 2 "s_register_operand" "w")))]
!   "ARM_HAVE_NEON_<MODE>_ARITH"
    "vmax.<V_s_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2"
    [(set (attr "type")
        (if_then_else (match_test "<Is_float_mode>")
diff -Nrcpad gcc-16-20260118/gcc/config/avr/avr.cc gcc-16-20260125/gcc/config/avr/avr.cc
*** gcc-16-20260118/gcc/config/avr/avr.cc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/avr/avr.cc	Sun Jan 25 22:32:07 2026
*************** avr_unwind_word_mode ()
*** 16967,16972 ****
--- 16967,16977 ----
  #undef TARGET_C_MODE_FOR_FLOATING_TYPE
  #define TARGET_C_MODE_FOR_FLOATING_TYPE avr_c_mode_for_floating_type
  
+ #if defined WITH_AVRLIBC
+ #undef  TARGET_SETJMP_PRESERVES_NONVOLATILE_REGS_P
+ #define TARGET_SETJMP_PRESERVES_NONVOLATILE_REGS_P hook_bool_void_true
+ #endif // WITH_AVRLIBC
+ 
  gcc_target targetm = TARGET_INITIALIZER;
  
  
diff -Nrcpad gcc-16-20260118/gcc/config/avr/avr.opt.urls gcc-16-20260125/gcc/config/avr/avr.opt.urls
*** gcc-16-20260118/gcc/config/avr/avr.opt.urls	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/avr/avr.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/AVR-Options.html#index-mti
*** 48,53 ****
--- 48,56 ----
  mrelax
  UrlSuffix(gcc/AVR-Options.html#index-mrelax)
  
+ mpmem-wrap-around
+ UrlSuffix(gcc/AVR-Options.html#index-mpmem-wrap-around)
+ 
  maccumulate-args
  UrlSuffix(gcc/AVR-Options.html#index-maccumulate-args)
  
diff -Nrcpad gcc-16-20260118/gcc/config/bpf/bpf.opt.urls gcc-16-20260125/gcc/config/bpf/bpf.opt.urls
*** gcc-16-20260118/gcc/config/bpf/bpf.opt.urls	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/bpf/bpf.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/eBPF-Options.html#index-mb
*** 9,14 ****
--- 9,17 ----
  mlittle-endian
  UrlSuffix(gcc/eBPF-Options.html#index-mlittle-endian-4)
  
+ mframe-limit=
+ UrlSuffix(gcc/eBPF-Options.html#index-mframe-limit)
+ 
  mco-re
  UrlSuffix(gcc/eBPF-Options.html#index-mco-re)
  
diff -Nrcpad gcc-16-20260118/gcc/config/cris/cris.opt.urls gcc-16-20260125/gcc/config/cris/cris.opt.urls
*** gcc-16-20260118/gcc/config/cris/cris.opt.urls	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/cris/cris.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/CRIS-Options.html#index-ma
*** 72,77 ****
--- 72,80 ----
  mtune=
  UrlSuffix(gcc/CRIS-Options.html#index-mtune-4)
  
+ mmax-stackframe=
+ UrlSuffix(gcc/CRIS-Options.html#index-mmax-stackframe)
+ 
  mtrap-using-break8
  UrlSuffix(gcc/CRIS-Options.html#index-mtrap-using-break8)
  
diff -Nrcpad gcc-16-20260118/gcc/config/darwin.opt.urls gcc-16-20260125/gcc/config/darwin.opt.urls
*** gcc-16-20260118/gcc/config/darwin.opt.urls	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config/darwin.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/Darwin-Options.html#index-
*** 153,159 ****
  ; skipping UrlSuffix for 'pthread' due to multiple URLs:
  ;   duplicate: 'gcc/Link-Options.html#index-pthread-1'
  ;   duplicate: 'gcc/Preprocessor-Options.html#index-pthread'
- ;   duplicate: 'gcc/Solaris-2-Options.html#index-pthread-2'
  
  rdynamic
  UrlSuffix(gcc/Link-Options.html#index-rdynamic)
--- 153,158 ----
diff -Nrcpad gcc-16-20260118/gcc/config/dragonfly.opt.urls gcc-16-20260125/gcc/config/dragonfly.opt.urls
*** gcc-16-20260118/gcc/config/dragonfly.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/dragonfly.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/Instrumentation-Options.ht
*** 6,12 ****
  ; skipping UrlSuffix for 'pthread' due to multiple URLs:
  ;   duplicate: 'gcc/Link-Options.html#index-pthread-1'
  ;   duplicate: 'gcc/Preprocessor-Options.html#index-pthread'
- ;   duplicate: 'gcc/Solaris-2-Options.html#index-pthread-2'
  
  rdynamic
  UrlSuffix(gcc/Link-Options.html#index-rdynamic)
--- 6,11 ----
diff -Nrcpad gcc-16-20260118/gcc/config/freebsd.opt.urls gcc-16-20260125/gcc/config/freebsd.opt.urls
*** gcc-16-20260118/gcc/config/freebsd.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/freebsd.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/Instrumentation-Options.ht
*** 6,12 ****
  ; skipping UrlSuffix for 'pthread' due to multiple URLs:
  ;   duplicate: 'gcc/Link-Options.html#index-pthread-1'
  ;   duplicate: 'gcc/Preprocessor-Options.html#index-pthread'
- ;   duplicate: 'gcc/Solaris-2-Options.html#index-pthread-2'
  
  rdynamic
  UrlSuffix(gcc/Link-Options.html#index-rdynamic)
--- 6,11 ----
diff -Nrcpad gcc-16-20260118/gcc/config/frv/frv.opt gcc-16-20260125/gcc/config/frv/frv.opt
*** gcc-16-20260118/gcc/config/frv/frv.opt	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/frv/frv.opt	Sun Jan 25 22:32:07 2026
*************** mscc
*** 206,213 ****
  Target Mask(SCC)
  Enable setting GPRs to the result of comparisons.
  
  msched-lookahead=
! Target RejectNegative Joined UInteger Var(frv_sched_lookahead) Init(4)
  Change the amount of scheduler lookahead.
  
  msoft-float
--- 206,214 ----
  Target Mask(SCC)
  Enable setting GPRs to the result of comparisons.
  
+ ; This option seems not to be used anywhere.
  msched-lookahead=
! Target Undocumented RejectNegative Joined UInteger Var(frv_sched_lookahead) Init(4)
  Change the amount of scheduler lookahead.
  
  msoft-float
diff -Nrcpad gcc-16-20260118/gcc/config/gnu-user.opt.urls gcc-16-20260125/gcc/config/gnu-user.opt.urls
*** gcc-16-20260118/gcc/config/gnu-user.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/gnu-user.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/Instrumentation-Options.ht
*** 6,12 ****
  ; skipping UrlSuffix for 'pthread' due to multiple URLs:
  ;   duplicate: 'gcc/Link-Options.html#index-pthread-1'
  ;   duplicate: 'gcc/Preprocessor-Options.html#index-pthread'
- ;   duplicate: 'gcc/Solaris-2-Options.html#index-pthread-2'
  
  rdynamic
  UrlSuffix(gcc/Link-Options.html#index-rdynamic)
--- 6,11 ----
diff -Nrcpad gcc-16-20260118/gcc/config/hpux11.opt.urls gcc-16-20260125/gcc/config/hpux11.opt.urls
*** gcc-16-20260118/gcc/config/hpux11.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/hpux11.opt.urls	Sun Jan 25 22:32:07 2026
***************
*** 3,7 ****
  ; skipping UrlSuffix for 'pthread' due to multiple URLs:
  ;   duplicate: 'gcc/Link-Options.html#index-pthread-1'
  ;   duplicate: 'gcc/Preprocessor-Options.html#index-pthread'
- ;   duplicate: 'gcc/Solaris-2-Options.html#index-pthread-2'
  
--- 3,6 ----
diff -Nrcpad gcc-16-20260118/gcc/config/i386/cygwin.opt.urls gcc-16-20260125/gcc/config/i386/cygwin.opt.urls
*** gcc-16-20260118/gcc/config/i386/cygwin.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/i386/cygwin.opt.urls	Sun Jan 25 22:32:07 2026
***************
*** 3,7 ****
  ; skipping UrlSuffix for 'pthread' due to multiple URLs:
  ;   duplicate: 'gcc/Link-Options.html#index-pthread-1'
  ;   duplicate: 'gcc/Preprocessor-Options.html#index-pthread'
- ;   duplicate: 'gcc/Solaris-2-Options.html#index-pthread-2'
  
--- 3,6 ----
diff -Nrcpad gcc-16-20260118/gcc/config/i386/i386-expand.cc gcc-16-20260125/gcc/config/i386/i386-expand.cc
*** gcc-16-20260118/gcc/config/i386/i386-expand.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/i386/i386-expand.cc	Sun Jan 25 22:32:07 2026
*************** ix86_vector_duplicate_value (machine_mod
*** 17361,17372 ****
        machine_mode innermode = GET_MODE_INNER (mode);
        rtx reg;
  
!       /* If that fails, force VAL into a register.  */
  
        start_sequence ();
!       reg = force_reg (innermode, val);
!       if (GET_MODE (reg) != innermode)
! 	reg = gen_lowpart (innermode, reg);
        SET_SRC (PATTERN (insn)) = gen_vec_duplicate (mode, reg);
        seq = end_sequence ();
        if (seq)
--- 17361,17381 ----
        machine_mode innermode = GET_MODE_INNER (mode);
        rtx reg;
  
!       /* If that fails, force VAL into a register or mem.  */
  
        start_sequence ();
! 
!       if (!TARGET_PREFER_BCST_FROM_INTEGER && CONST_INT_P (val)
! 	  && GET_MODE_BITSIZE (innermode) <= HOST_BITS_PER_WIDE_INT
! 	  && GET_MODE_BITSIZE(mode) >= 128)
! 	reg = validize_mem (force_const_mem (innermode, val));
!       else
! 	{
! 	  reg = force_reg (innermode, val);
! 	  if (GET_MODE (reg) != innermode)
! 	    reg = gen_lowpart (innermode, reg);
! 	}
! 
        SET_SRC (PATTERN (insn)) = gen_vec_duplicate (mode, reg);
        seq = end_sequence ();
        if (seq)
diff -Nrcpad gcc-16-20260118/gcc/config/i386/i386.cc gcc-16-20260125/gcc/config/i386/i386.cc
*** gcc-16-20260118/gcc/config/i386/i386.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/i386/i386.cc	Sun Jan 25 22:32:07 2026
*************** ix86_autovectorize_vector_modes (vector_
*** 25700,25706 ****
    if (TARGET_SSE2)
      modes->safe_push (V4QImode);
  
!   return 0;
  }
  
  /* Implemenation of targetm.vectorize.get_mask_mode.  */
--- 25700,25706 ----
    if (TARGET_SSE2)
      modes->safe_push (V4QImode);
  
!   return ix86_vect_compare_costs ? VECT_COMPARE_COSTS : 0;
  }
  
  /* Implemenation of targetm.vectorize.get_mask_mode.  */
*************** ix86_vector_costs::finish_cost (const ve
*** 26572,26577 ****
--- 26572,26583 ----
  	      > ceil_log2 (LOOP_VINFO_INT_NITERS (loop_vinfo))))
  	m_costs[vect_body] = INT_MAX;
  
+       /* We'd like to avoid using masking if there's an in-order reduction
+ 	 to vectorize because that will also perform in-order adds of
+ 	 masked elements (as neutral value, of course) here, but there
+ 	 is currently no way to indicate to try un-masked with the same
+ 	 mode.  */
+ 
        bool any_reduc_p = false;
        for (int i = 0; i != X86_REDUC_LAST; i++)
  	if (m_num_reduc[i])
*************** ix86_vector_costs::finish_cost (const ve
*** 26687,26692 ****
--- 26693,26712 ----
  		  }
  	      }
  	  }
+       /* Avoid using masking if there's an in-order reduction
+ 	 to vectorize because that will also perform in-order adds of
+ 	 masked elements (as neutral value, of course).  */
+       if (!avoid)
+ 	{
+ 	  for (auto inst : LOOP_VINFO_SLP_INSTANCES (loop_vinfo))
+ 	    if (SLP_INSTANCE_KIND (inst) == slp_inst_kind_reduc_group
+ 		&& (vect_reduc_type (loop_vinfo, SLP_INSTANCE_TREE (inst))
+ 		    == FOLD_LEFT_REDUCTION))
+ 	      {
+ 		avoid = true;
+ 		break;
+ 	      }
+ 	}
        if (!avoid)
  	{
  	  m_suggested_epilogue_mode = loop_vinfo->vector_mode;
diff -Nrcpad gcc-16-20260118/gcc/config/i386/i386.h gcc-16-20260125/gcc/config/i386/i386.h
*** gcc-16-20260118/gcc/config/i386/i386.h	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/i386/i386.h	Sun Jan 25 22:32:07 2026
*************** extern unsigned char ix86_tune_features[
*** 409,414 ****
--- 409,417 ----
  	ix86_tune_features[X86_TUNE_INTER_UNIT_MOVES_FROM_VEC]
  #define TARGET_INTER_UNIT_CONVERSIONS \
  	ix86_tune_features[X86_TUNE_INTER_UNIT_CONVERSIONS]
+ #define TARGET_PREFER_BCST_FROM_INTEGER \
+   ix86_tune_features[X86_TUNE_PREFER_BCST_FROM_INTEGER]
+ 
  #define TARGET_FOUR_JUMP_LIMIT	ix86_tune_features[X86_TUNE_FOUR_JUMP_LIMIT]
  #define TARGET_SCHEDULE		ix86_tune_features[X86_TUNE_SCHEDULE]
  #define TARGET_USE_BT		ix86_tune_features[X86_TUNE_USE_BT]
diff -Nrcpad gcc-16-20260118/gcc/config/i386/i386.opt gcc-16-20260125/gcc/config/i386/i386.opt
*** gcc-16-20260118/gcc/config/i386/i386.opt	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/i386/i386.opt	Sun Jan 25 22:32:07 2026
*************** Enable conservative small loop unrolling
*** 1257,1262 ****
--- 1257,1266 ----
  Target Joined UInteger Var(ix86_vect_unroll_limit) Init(4) Param
  Limit how much the autovectorizer may unroll a loop.
  
+ -param=ix86-vect-compare-costs=
+ Target Joined UInteger Var(ix86_vect_compare_costs) Init(0) IntegerRange(0, 1) Param Optimization
+ Whether x86 vectorizer cost modeling compares costs of different vector sizes.
+ 
  mlam=
  Target RejectNegative Joined Enum(lam_type) Var(ix86_lam_type) Init(lam_none)
  -mlam=[none|u48|u57] Instrument meta data position in user data pointers.
diff -Nrcpad gcc-16-20260118/gcc/config/i386/sol2.h gcc-16-20260125/gcc/config/i386/sol2.h
*** gcc-16-20260118/gcc/config/i386/sol2.h	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/i386/sol2.h	Sun Jan 25 22:32:07 2026
*************** along with GCC; see the file COPYING3.
*** 51,59 ****
  #undef TARGET_SUN_TLS
  #define TARGET_SUN_TLS 1
  
- #undef CPP_SPEC
- #define CPP_SPEC "%(cpp_subtarget)"
- 
  #undef CC1_SPEC
  #define CC1_SPEC "%(cc1_cpu) " ASAN_CC1_SPEC SCTF_CC1_SPEC \
    " %{mx32:%e-mx32 is not supported on Solaris}"
--- 51,56 ----
*************** along with GCC; see the file COPYING3.
*** 101,107 ****
     %{mpc80:crtprec80.o%s}"
  
  #define SUBTARGET_CPU_EXTRA_SPECS \
-   { "cpp_subtarget",	 CPP_SUBTARGET_SPEC },		\
    { "asm_cpu",		 ASM_CPU_SPEC },		\
    { "asm_cpu_default",	 ASM_CPU_DEFAULT_SPEC },	\
  
--- 98,103 ----
diff -Nrcpad gcc-16-20260118/gcc/config/i386/sse.md gcc-16-20260125/gcc/config/i386/sse.md
*** gcc-16-20260118/gcc/config/i386/sse.md	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/i386/sse.md	Sun Jan 25 22:32:07 2026
***************
*** 28332,28348 ****
  (define_insn "avx2_vbroadcasti128_<mode>"
    [(set (match_operand:VI_256 0 "register_operand" "=x,v,v")
  	(vec_concat:VI_256
! 	  (match_operand:<ssehalfvecmode> 1 "memory_operand" "m,m,m")
  	  (match_dup 1)))]
    "TARGET_AVX2"
    "@
     vbroadcasti128\t{%1, %0|%0, %1}
     vbroadcast<i128vldq>\t{%1, %0|%0, %1}
     vbroadcast<shuffletype>32x4\t{%1, %0|%0, %1}"
!   [(set_attr "isa" "*,avx512dq,avx512vl")
     (set_attr "type" "ssemov")
     (set_attr "prefix_extra" "1")
     (set_attr "prefix" "vex,evex,evex")
     (set_attr "mode" "OI")])
  
  ;; optimize vlddqu + vinserti128 to vbroadcasti128, the former will use
--- 28332,28349 ----
  (define_insn "avx2_vbroadcasti128_<mode>"
    [(set (match_operand:VI_256 0 "register_operand" "=x,v,v")
  	(vec_concat:VI_256
! 	  (match_operand:<ssehalfvecmode> 1 "memory_operand" "jm,m,m")
  	  (match_dup 1)))]
    "TARGET_AVX2"
    "@
     vbroadcasti128\t{%1, %0|%0, %1}
     vbroadcast<i128vldq>\t{%1, %0|%0, %1}
     vbroadcast<shuffletype>32x4\t{%1, %0|%0, %1}"
!   [(set_attr "isa" "noavx512vl,avx512dq,avx512vl")
     (set_attr "type" "ssemov")
     (set_attr "prefix_extra" "1")
     (set_attr "prefix" "vex,evex,evex")
+    (set_attr "addr" "gpr16,*,*")
     (set_attr "mode" "OI")])
  
  ;; optimize vlddqu + vinserti128 to vbroadcasti128, the former will use
diff -Nrcpad gcc-16-20260118/gcc/config/i386/x86-tune.def gcc-16-20260125/gcc/config/i386/x86-tune.def
*** gcc-16-20260118/gcc/config/i386/x86-tune.def	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/i386/x86-tune.def	Sun Jan 25 22:32:07 2026
*************** DEF_TUNE (X86_TUNE_INTER_UNIT_MOVES_FROM
*** 488,493 ****
--- 488,508 ----
  DEF_TUNE (X86_TUNE_INTER_UNIT_CONVERSIONS, "inter_unit_conversions",
            ~(m_AMDFAM10 | m_BDVER))
  
+ /* X86_TUNE_PREFER_BCST_FROM_INTEGER: Enable broadcast from integer for
+    128/256/512-bit vector, if disabled, the move will be done by
+    broadcast/load from constant pool
+ 
+    broadcast from integer:
+       mov    $0xa,%eax
+       vmovd  %eax,%xmm0
+       vpbroadcastd %xmm0,%xmm0
+ 
+    broadcast/load from constant pool:
+       vpbroadcastd CST.0(%rip), %xmm0  */
+ 
+ DEF_TUNE (X86_TUNE_PREFER_BCST_FROM_INTEGER, "prefer_bcst_from_integer",
+           m_ALL)
+ 
  /* X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS: Try to split memory operand for
     fp converts to destination register.  */
  DEF_TUNE (X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS, "split_mem_opnd_for_fp_converts",
diff -Nrcpad gcc-16-20260118/gcc/config/loongarch/lasx.md gcc-16-20260125/gcc/config/loongarch/lasx.md
*** gcc-16-20260118/gcc/config/loongarch/lasx.md	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/loongarch/lasx.md	Sun Jan 25 22:32:07 2026
***************
*** 3521,3527 ****
    [(set (match_operand:FLASX 0 "register_operand" "=f")
      (vec_merge:FLASX
        (vec_duplicate:FLASX
!         (match_operand:<UNITMODE> 1 "register_operand" "f"))
        (match_operand:FLASX 2 "register_operand" "0")
        (match_operand 3 "const_<bitmask256>_operand" "")))]
    "ISA_HAS_LASX"
--- 3521,3527 ----
    [(set (match_operand:FLASX 0 "register_operand" "=f")
      (vec_merge:FLASX
        (vec_duplicate:FLASX
!         (match_operand:<UNITMODE> 1 "reg_or_0_operand" "f"))
        (match_operand:FLASX 2 "register_operand" "0")
        (match_operand 3 "const_<bitmask256>_operand" "")))]
    "ISA_HAS_LASX"
diff -Nrcpad gcc-16-20260118/gcc/config/lynx.opt.urls gcc-16-20260125/gcc/config/lynx.opt.urls
*** gcc-16-20260118/gcc/config/lynx.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/lynx.opt.urls	Sun Jan 25 22:32:07 2026
***************
*** 1,7 ****
  ; Autogenerated by regenerate-opt-urls.py from gcc/config/lynx.opt and generated HTML
  
! ; skipping UrlSuffix for 'mshared' due to finding no URLs
  
! mthreads
! UrlSuffix(gcc/Cygwin-and-MinGW-Options.html#index-mthreads)
  
--- 1,12 ----
  ; Autogenerated by regenerate-opt-urls.py from gcc/config/lynx.opt and generated HTML
  
! mlegacy-threads
! UrlSuffix(gcc/LynxOS-Options.html#index-mlegacy-threads)
  
! mshared
! UrlSuffix(gcc/LynxOS-Options.html#index-mshared)
! 
! ; skipping UrlSuffix for 'mthreads' due to multiple URLs:
! ;   duplicate: 'gcc/Cygwin-and-MinGW-Options.html#index-mthreads'
! ;   duplicate: 'gcc/LynxOS-Options.html#index-mthreads-1'
  
diff -Nrcpad gcc-16-20260118/gcc/config/m68k/m68k.opt gcc-16-20260125/gcc/config/m68k/m68k.opt
*** gcc-16-20260118/gcc/config/m68k/m68k.opt	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/m68k/m68k.opt	Sun Jan 25 22:32:07 2026
*************** Generate code for a 68332.
*** 87,93 ****
  
  ; Has no effect on gcc
  m68851
! Target
  Generate code for a 68851.
  
  m68881
--- 87,93 ----
  
  ; Has no effect on gcc
  m68851
! Target RejectNegative
  Generate code for a 68851.
  
  m68881
diff -Nrcpad gcc-16-20260118/gcc/config/m68k/m68k.opt.urls gcc-16-20260125/gcc/config/m68k/m68k.opt.urls
*** gcc-16-20260118/gcc/config/m68k/m68k.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/m68k/m68k.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/M680x0-Options.html#index-
*** 39,44 ****
--- 39,53 ----
  m68060
  UrlSuffix(gcc/M680x0-Options.html#index-m68060)
  
+ m68302
+ UrlSuffix(gcc/M680x0-Options.html#index-m68302)
+ 
+ m68332
+ UrlSuffix(gcc/M680x0-Options.html#index-m68332)
+ 
+ m68851
+ UrlSuffix(gcc/M680x0-Options.html#index-m68851)
+ 
  m68881
  UrlSuffix(gcc/M680x0-Options.html#index-m68881)
  
*************** UrlSuffix(gcc/M680x0-Options.html#index-
*** 69,74 ****
--- 78,86 ----
  mdiv
  UrlSuffix(gcc/M680x0-Options.html#index-mdiv-1)
  
+ mfidoa
+ UrlSuffix(gcc/M680x0-Options.html#index-mfidoa)
+ 
  mhard-float
  UrlSuffix(gcc/M680x0-Options.html#index-mhard-float-1)
  
*************** UrlSuffix(gcc/M680x0-Options.html#index-
*** 83,88 ****
--- 95,106 ----
  mnobitfield
  UrlSuffix(gcc/M680x0-Options.html#index-mnobitfield)
  
+ mnortd
+ UrlSuffix(gcc/M680x0-Options.html#index-mnortd)
+ 
+ mnoshort
+ UrlSuffix(gcc/M680x0-Options.html#index-mnoshort)
+ 
  mpcrel
  UrlSuffix(gcc/M680x0-Options.html#index-mpcrel)
  
*************** UrlSuffix(gcc/M680x0-Options.html#index-
*** 110,112 ****
--- 128,133 ----
  mxgot
  UrlSuffix(gcc/M680x0-Options.html#index-mxgot)
  
+ mxtls
+ UrlSuffix(gcc/M680x0-Options.html#index-mxtls)
+ 
diff -Nrcpad gcc-16-20260118/gcc/config/mcore/mcore.opt.urls gcc-16-20260125/gcc/config/mcore/mcore.opt.urls
*** gcc-16-20260118/gcc/config/mcore/mcore.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/mcore/mcore.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/MCore-Options.html#index-m
*** 27,32 ****
--- 27,35 ----
  mno-lsim
  UrlSuffix(gcc/MCore-Options.html#index-mno-lsim-1)
  
+ mrelax-immediates
+ UrlSuffix(gcc/MCore-Options.html#index-mrelax-immediates)
+ 
  mslow-bytes
  UrlSuffix(gcc/MCore-Options.html#index-mslow-bytes)
  
diff -Nrcpad gcc-16-20260118/gcc/config/mingw/cygming.opt.urls gcc-16-20260125/gcc/config/mingw/cygming.opt.urls
*** gcc-16-20260118/gcc/config/mingw/cygming.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/mingw/cygming.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/Cygwin-and-MinGW-Options.h
*** 9,16 ****
  mnop-fun-dllimport
  UrlSuffix(gcc/Cygwin-and-MinGW-Options.html#index-mnop-fun-dllimport)
  
! mthreads
! UrlSuffix(gcc/Cygwin-and-MinGW-Options.html#index-mthreads)
  
  mwin32
  UrlSuffix(gcc/Cygwin-and-MinGW-Options.html#index-mwin32)
--- 9,17 ----
  mnop-fun-dllimport
  UrlSuffix(gcc/Cygwin-and-MinGW-Options.html#index-mnop-fun-dllimport)
  
! ; skipping UrlSuffix for 'mthreads' due to multiple URLs:
! ;   duplicate: 'gcc/Cygwin-and-MinGW-Options.html#index-mthreads'
! ;   duplicate: 'gcc/LynxOS-Options.html#index-mthreads-1'
  
  mwin32
  UrlSuffix(gcc/Cygwin-and-MinGW-Options.html#index-mwin32)
*************** UrlSuffix(gcc/Cygwin-and-MinGW-Options.h
*** 21,26 ****
--- 22,30 ----
  mpe-aligned-commons
  UrlSuffix(gcc/Cygwin-and-MinGW-Options.html#index-mpe-aligned-commons)
  
+ muse-libstdc-wrappers
+ UrlSuffix(gcc/Cygwin-and-MinGW-Options.html#index-muse-libstdc-wrappers)
+ 
  fset-stack-executable
  UrlSuffix(gcc/Cygwin-and-MinGW-Options.html#index-fno-set-stack-executable)
  
diff -Nrcpad gcc-16-20260118/gcc/config/mingw/mingw.opt.urls gcc-16-20260125/gcc/config/mingw/mingw.opt.urls
*** gcc-16-20260118/gcc/config/mingw/mingw.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/mingw/mingw.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/Cygwin-and-MinGW-Options.h
*** 6,12 ****
  ; skipping UrlSuffix for 'pthread' due to multiple URLs:
  ;   duplicate: 'gcc/Link-Options.html#index-pthread-1'
  ;   duplicate: 'gcc/Preprocessor-Options.html#index-pthread'
- ;   duplicate: 'gcc/Solaris-2-Options.html#index-pthread-2'
  
  Wpedantic-ms-format
  UrlSuffix(gcc/Warning-Options.html#index-Wno-pedantic-ms-format)
--- 6,11 ----
diff -Nrcpad gcc-16-20260118/gcc/config/mips/mips.opt.urls gcc-16-20260125/gcc/config/mips/mips.opt.urls
*** gcc-16-20260118/gcc/config/mips/mips.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/mips/mips.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/MIPS-Options.html#index-mr
*** 209,216 ****
  mrelax-pic-calls
  UrlSuffix(gcc/MIPS-Options.html#index-mrelax-pic-calls)
  
! mshared
! UrlSuffix(gcc/MIPS-Options.html#index-mshared)
  
  msingle-float
  UrlSuffix(gcc/MIPS-Options.html#index-msingle-float-1)
--- 209,217 ----
  mrelax-pic-calls
  UrlSuffix(gcc/MIPS-Options.html#index-mrelax-pic-calls)
  
! ; skipping UrlSuffix for 'mshared' due to multiple URLs:
! ;   duplicate: 'gcc/LynxOS-Options.html#index-mshared'
! ;   duplicate: 'gcc/MIPS-Options.html#index-mshared-1'
  
  msingle-float
  UrlSuffix(gcc/MIPS-Options.html#index-msingle-float-1)
diff -Nrcpad gcc-16-20260118/gcc/config/mips/sde.opt.urls gcc-16-20260125/gcc/config/mips/sde.opt.urls
*** gcc-16-20260118/gcc/config/mips/sde.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/mips/sde.opt.urls	Sun Jan 25 22:32:07 2026
***************
*** 1,2 ****
--- 1,8 ----
  ; Autogenerated by regenerate-opt-urls.py from gcc/config/mips/sde.opt and generated HTML
  
+ mno-data-in-code
+ UrlSuffix(gcc/MIPS-Options.html#index-mno-data-in-code)
+ 
+ mcode-xonly
+ UrlSuffix(gcc/MIPS-Options.html#index-mcode-xonly)
+ 
diff -Nrcpad gcc-16-20260118/gcc/config/mmix/mmix.opt.urls gcc-16-20260125/gcc/config/mmix/mmix.opt.urls
*** gcc-16-20260118/gcc/config/mmix/mmix.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/mmix/mmix.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/MMIX-Options.html#index-mk
*** 21,26 ****
--- 21,29 ----
  mtoplevel-symbols
  UrlSuffix(gcc/MMIX-Options.html#index-mtoplevel-symbols)
  
+ mno-set-program-start
+ UrlSuffix(gcc/MMIX-Options.html#index-mno-set-program-start)
+ 
  melf
  UrlSuffix(gcc/MMIX-Options.html#index-melf)
  
*************** UrlSuffix(gcc/MMIX-Options.html#index-ms
*** 42,44 ****
--- 45,53 ----
  mno-single-exit
  UrlSuffix(gcc/MMIX-Options.html#index-mno-single-exit)
  
+ mset-program-start=
+ UrlSuffix(gcc/MMIX-Options.html#index-mset-program-start)
+ 
+ mset-data-start=
+ UrlSuffix(gcc/MMIX-Options.html#index-mset-data-start)
+ 
diff -Nrcpad gcc-16-20260118/gcc/config/netbsd.opt.urls gcc-16-20260125/gcc/config/netbsd.opt.urls
*** gcc-16-20260118/gcc/config/netbsd.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/netbsd.opt.urls	Sun Jan 25 22:32:07 2026
***************
*** 3,7 ****
  ; skipping UrlSuffix for 'pthread' due to multiple URLs:
  ;   duplicate: 'gcc/Link-Options.html#index-pthread-1'
  ;   duplicate: 'gcc/Preprocessor-Options.html#index-pthread'
- ;   duplicate: 'gcc/Solaris-2-Options.html#index-pthread-2'
  
--- 3,6 ----
diff -Nrcpad gcc-16-20260118/gcc/config/nvptx/nvptx.opt gcc-16-20260125/gcc/config/nvptx/nvptx.opt
*** gcc-16-20260118/gcc/config/nvptx/nvptx.opt	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/nvptx/nvptx.opt	Sun Jan 25 22:32:07 2026
*************** Target RejectNegative Negative(mptx=) To
*** 204,210 ****
  Specify the PTX ISA version to use.
  
  minit-regs=
! Target Var(nvptx_init_regs) IntegerRange(0, 3) Joined UInteger Init(3)
  Initialize ptx registers.
  
  mptx-comment
--- 204,210 ----
  Specify the PTX ISA version to use.
  
  minit-regs=
! Target Undocumented Var(nvptx_init_regs) IntegerRange(0, 3) Joined UInteger Init(3)
  Initialize ptx registers.
  
  mptx-comment
diff -Nrcpad gcc-16-20260118/gcc/config/nvptx/nvptx.opt.urls gcc-16-20260125/gcc/config/nvptx/nvptx.opt.urls
*** gcc-16-20260118/gcc/config/nvptx/nvptx.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/nvptx/nvptx.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/Nvidia-PTX-Options.html#in
*** 12,17 ****
--- 12,20 ----
  msoft-stack
  UrlSuffix(gcc/Nvidia-PTX-Options.html#index-msoft-stack)
  
+ msoft-stack-reserve-local=
+ UrlSuffix(gcc/Nvidia-PTX-Options.html#index-msoft-stack-reserve-local)
+ 
  muniform-simt
  UrlSuffix(gcc/Nvidia-PTX-Options.html#index-muniform-simt)
  
diff -Nrcpad gcc-16-20260118/gcc/config/openbsd.opt.urls gcc-16-20260125/gcc/config/openbsd.opt.urls
*** gcc-16-20260118/gcc/config/openbsd.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/openbsd.opt.urls	Sun Jan 25 22:32:07 2026
***************
*** 3,7 ****
  ; skipping UrlSuffix for 'pthread' due to multiple URLs:
  ;   duplicate: 'gcc/Link-Options.html#index-pthread-1'
  ;   duplicate: 'gcc/Preprocessor-Options.html#index-pthread'
- ;   duplicate: 'gcc/Solaris-2-Options.html#index-pthread-2'
  
--- 3,6 ----
diff -Nrcpad gcc-16-20260118/gcc/config/riscv/riscv-cores.def gcc-16-20260125/gcc/config/riscv/riscv-cores.def
*** gcc-16-20260118/gcc/config/riscv/riscv-cores.def	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/riscv/riscv-cores.def	Sun Jan 25 22:32:07 2026
*************** RISCV_CORE("xt-c920v2",       "rv64imafd
*** 148,155 ****
  			      "xtheadsync",
  			       "xt-c920v2")
  
! RISCV_CORE("tt-ascalon-d8",   "rva23s64_zfbfmin_zfh_zkr_zvbc_zvfbfwma_zvfh_"
! 			      "zvkng_zvl256b_smaia_smmpm_smnpm_smrnmi_"
  			      "smstateen_ssaia_ssstrict_svadu",
  			      "tt-ascalon-d8")
  
--- 148,155 ----
  			      "xtheadsync",
  			       "xt-c920v2")
  
! RISCV_CORE("tt-ascalon-d8",   "rva23s64_zfbfmin_zfh_zkr_zvbc_zvfbfmin_zvfbfwma_"
! 			      "zvfh_zvkng_zvl256b_smaia_smmpm_smnpm_smrnmi_"
  			      "smstateen_ssaia_ssstrict_svadu",
  			      "tt-ascalon-d8")
  
diff -Nrcpad gcc-16-20260118/gcc/config/riscv/riscv-vector-builtins-bases.cc gcc-16-20260125/gcc/config/riscv/riscv-vector-builtins-bases.cc
*** gcc-16-20260118/gcc/config/riscv/riscv-vector-builtins-bases.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/riscv/riscv-vector-builtins-bases.cc	Sun Jan 25 22:32:07 2026
*************** enum lst_type
*** 58,111 ****
    LST_INDEXED,
  };
  
- /* Helper function to fold vleff and vlsegff.  */
- static gimple *
- fold_fault_load (gimple_folder &f)
- {
-   /* fold fault_load (const *base, size_t *new_vl, size_t vl)
- 
-      ====> fault_load (const *base, size_t vl)
- 	   new_vl = MEM_REF[read_vl ()].  */
- 
-   auto_vec<tree> vargs (gimple_call_num_args (f.call) - 1);
- 
-   for (unsigned i = 0; i < gimple_call_num_args (f.call); i++)
-     {
-       /* Exclude size_t *new_vl argument.  */
-       if (i == gimple_call_num_args (f.call) - 2)
- 	continue;
- 
-       vargs.quick_push (gimple_call_arg (f.call, i));
-     }
- 
-   gimple *repl = gimple_build_call_vec (gimple_call_fn (f.call), vargs);
-   gimple_call_set_lhs (repl, f.lhs);
- 
-   /* Handle size_t *new_vl by read_vl.  */
-   tree new_vl = gimple_call_arg (f.call, gimple_call_num_args (f.call) - 2);
-   if (integer_zerop (new_vl))
-     {
-       /* This case happens when user passes the nullptr to new_vl argument.
- 	 In this case, we just need to ignore the new_vl argument and return
- 	 fault_load instruction directly. */
-       return repl;
-     }
- 
-   tree tmp_var = create_tmp_var (size_type_node, "new_vl");
-   tree decl = get_read_vl_decl ();
-   gimple *g = gimple_build_call (decl, 0);
-   gimple_call_set_lhs (g, tmp_var);
-   tree indirect
-     = fold_build2 (MEM_REF, size_type_node,
- 		   gimple_call_arg (f.call, gimple_call_num_args (f.call) - 2),
- 		   build_int_cst (build_pointer_type (size_type_node), 0));
-   gassign *assign = gimple_build_assign (indirect, tmp_var);
- 
-   gsi_insert_after (f.gsi, assign, GSI_SAME_STMT);
-   gsi_insert_after (f.gsi, g, GSI_SAME_STMT);
-   return repl;
- }
- 
  /* Implements vsetvl<mode> && vsetvlmax<mode>.  */
  template<bool VLMAX_P>
  class vsetvl : public function_base
--- 58,63 ----
*************** public:
*** 1995,2009 ****
      return pred != PRED_TYPE_none;
    }
  
-   gimple *fold (gimple_folder &f) const override
-   {
-     return fold_fault_load (f);
-   }
- 
    rtx expand (function_expander &e) const override
    {
!     return e.use_contiguous_load_insn (
!       code_for_pred_fault_load (e.vector_mode ()));
    }
  };
  
--- 1947,1955 ----
      return pred != PRED_TYPE_none;
    }
  
    rtx expand (function_expander &e) const override
    {
!     return e.use_fof_load_insn ();
    }
  };
  
*************** public:
*** 2171,2185 ****
      return pred != PRED_TYPE_none;
    }
  
-   gimple *fold (gimple_folder &f) const override
-   {
-     return fold_fault_load (f);
-   }
- 
    rtx expand (function_expander &e) const override
    {
!     return e.use_contiguous_load_insn
!       (code_for_pred_fault_load (e.vector_mode ()));
    }
  };
  
--- 2117,2125 ----
      return pred != PRED_TYPE_none;
    }
  
    rtx expand (function_expander &e) const override
    {
!     return e.use_fof_load_insn ();
    }
  };
  
diff -Nrcpad gcc-16-20260118/gcc/config/riscv/riscv-vector-builtins-functions.def gcc-16-20260125/gcc/config/riscv/riscv-vector-builtins-functions.def
*** gcc-16-20260118/gcc/config/riscv/riscv-vector-builtins-functions.def	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/riscv/riscv-vector-builtins-functions.def	Sun Jan 25 22:32:07 2026
*************** along with GCC; see the file COPYING3. I
*** 36,41 ****
--- 36,101 ----
  #define DEF_RVV_FUNCTION(NAME, SHAPE, PREDS, OPS_INFO)
  #endif
  
+ #define REQUIRED_EXTENSIONS VECTOR_EXT_NO_XTHEAD
+ // 7.4. Vector Unit-Stride Instructions
+ DEF_RVV_FUNCTION (vlm, loadstore, none_preds, b_v_scalar_const_ptr_ops)
+ DEF_RVV_FUNCTION (vsm, loadstore, none_preds, b_v_scalar_ptr_ops)
+ 
+ // 11.3. Vector Integer Extension
+ DEF_RVV_FUNCTION (vzext, widen_alu, full_preds, u_vf2_ops)
+ DEF_RVV_FUNCTION (vzext, widen_alu, full_preds, u_vf4_ops)
+ DEF_RVV_FUNCTION (vzext, widen_alu, full_preds, u_vf8_ops)
+ DEF_RVV_FUNCTION (vsext, widen_alu, full_preds, i_vf2_ops)
+ DEF_RVV_FUNCTION (vsext, widen_alu, full_preds, i_vf4_ops)
+ DEF_RVV_FUNCTION (vsext, widen_alu, full_preds, i_vf8_ops)
+ 
+ // 12.2. Vector Single-Width Averaging Add and Subtract
+ DEF_RVV_FUNCTION (vaaddu, alu, full_preds, u_vvv_ops)
+ DEF_RVV_FUNCTION (vaaddu, alu, full_preds, u_vvx_ops)
+ DEF_RVV_FUNCTION (vaadd, alu, full_preds, i_vvv_ops)
+ DEF_RVV_FUNCTION (vaadd, alu, full_preds, i_vvx_ops)
+ DEF_RVV_FUNCTION (vasubu, alu, full_preds, u_vvv_ops)
+ DEF_RVV_FUNCTION (vasubu, alu, full_preds, u_vvx_ops)
+ DEF_RVV_FUNCTION (vasub, alu, full_preds, i_vvv_ops)
+ DEF_RVV_FUNCTION (vasub, alu, full_preds, i_vvx_ops)
+ 
+ // 13.9. Vector Floating-Point Reciprocal Square-Root Estimate Instruction
+ DEF_RVV_FUNCTION (vfrsqrt7, alu, full_preds, f_v_ops)
+ 
+ // 13.10. Vector Floating-Point Reciprocal Estimate Instruction
+ DEF_RVV_FUNCTION (vfrec7, alu, full_preds, f_v_ops)
+ 
+ DEF_RVV_FUNCTION (vfrec7_frm, alu_frm, full_preds, f_v_ops)
+ 
+ // 16.3. Vector Slide Instructions
+ DEF_RVV_FUNCTION (vfslide1up, alu, full_preds, f_vvf_ops)
+ DEF_RVV_FUNCTION (vfslide1down, alu, full_preds, f_vvf_ops)
+ 
+ // 7.6. Vector Indexed Instructions
+ DEF_RVV_FUNCTION (vluxei8, indexed_loadstore, full_preds, all_v_scalar_const_ptr_eew8_index_ops)
+ DEF_RVV_FUNCTION (vluxei16, indexed_loadstore, full_preds, all_v_scalar_const_ptr_eew16_index_ops)
+ DEF_RVV_FUNCTION (vluxei32, indexed_loadstore, full_preds, all_v_scalar_const_ptr_eew32_index_ops)
+ DEF_RVV_FUNCTION (vluxei64, indexed_loadstore, full_preds, all_v_scalar_const_ptr_eew64_index_ops)
+ DEF_RVV_FUNCTION (vsuxei8, indexed_loadstore, none_m_preds, all_v_scalar_ptr_eew8_index_ops)
+ DEF_RVV_FUNCTION (vsuxei16, indexed_loadstore, none_m_preds, all_v_scalar_ptr_eew16_index_ops)
+ DEF_RVV_FUNCTION (vsuxei32, indexed_loadstore, none_m_preds, all_v_scalar_ptr_eew32_index_ops)
+ DEF_RVV_FUNCTION (vsuxei64, indexed_loadstore, none_m_preds, all_v_scalar_ptr_eew64_index_ops)
+ 
+ // 7.8. Vector Load/Store Segment Instructions
+ DEF_RVV_FUNCTION (vluxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew8_index_ops)
+ DEF_RVV_FUNCTION (vluxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew16_index_ops)
+ DEF_RVV_FUNCTION (vluxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew32_index_ops)
+ DEF_RVV_FUNCTION (vluxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew64_index_ops)
+ DEF_RVV_FUNCTION (vsuxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew8_index_ops)
+ DEF_RVV_FUNCTION (vsuxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew16_index_ops)
+ DEF_RVV_FUNCTION (vsuxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew32_index_ops)
+ DEF_RVV_FUNCTION (vsuxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew64_index_ops)
+ 
+ // 16.4. Vector Register Gather Instructions
+ DEF_RVV_FUNCTION (vrgatherei16, alu, full_preds, all_gatherei16_vvv_ops)
+ 
+ #undef REQUIRED_EXTENSIONS
+ 
  #define REQUIRED_EXTENSIONS VECTOR_EXT
  /* Internal helper functions for gimple fold use.  */
  DEF_RVV_FUNCTION (read_vl, read_vl, none_preds, p_none_void_ops)
*************** DEF_RVV_FUNCTION (vsetvlmax, vsetvlmax,
*** 51,76 ****
  // 7.4. Vector Unit-Stride Instructions
  DEF_RVV_FUNCTION (vle, loadstore, full_preds, all_v_scalar_const_ptr_ops)
  DEF_RVV_FUNCTION (vse, loadstore, none_m_preds, all_v_scalar_ptr_ops)
- DEF_RVV_FUNCTION (vlm, loadstore, none_preds, b_v_scalar_const_ptr_ops)
- DEF_RVV_FUNCTION (vsm, loadstore, none_preds, b_v_scalar_ptr_ops)
  
  // 7.5. Vector Strided Instructions
  DEF_RVV_FUNCTION (vlse, loadstore, full_preds, all_v_scalar_const_ptr_ptrdiff_ops)
  DEF_RVV_FUNCTION (vsse, loadstore, none_m_preds, all_v_scalar_ptr_ptrdiff_ops)
  
  // 7.6. Vector Indexed Instructions
- DEF_RVV_FUNCTION (vluxei8, indexed_loadstore, full_preds, all_v_scalar_const_ptr_eew8_index_ops)
- DEF_RVV_FUNCTION (vluxei16, indexed_loadstore, full_preds, all_v_scalar_const_ptr_eew16_index_ops)
- DEF_RVV_FUNCTION (vluxei32, indexed_loadstore, full_preds, all_v_scalar_const_ptr_eew32_index_ops)
- DEF_RVV_FUNCTION (vluxei64, indexed_loadstore, full_preds, all_v_scalar_const_ptr_eew64_index_ops)
  DEF_RVV_FUNCTION (vloxei8, indexed_loadstore, full_preds, all_v_scalar_const_ptr_eew8_index_ops)
  DEF_RVV_FUNCTION (vloxei16, indexed_loadstore, full_preds, all_v_scalar_const_ptr_eew16_index_ops)
  DEF_RVV_FUNCTION (vloxei32, indexed_loadstore, full_preds, all_v_scalar_const_ptr_eew32_index_ops)
  DEF_RVV_FUNCTION (vloxei64, indexed_loadstore, full_preds, all_v_scalar_const_ptr_eew64_index_ops)
- DEF_RVV_FUNCTION (vsuxei8, indexed_loadstore, none_m_preds, all_v_scalar_ptr_eew8_index_ops)
- DEF_RVV_FUNCTION (vsuxei16, indexed_loadstore, none_m_preds, all_v_scalar_ptr_eew16_index_ops)
- DEF_RVV_FUNCTION (vsuxei32, indexed_loadstore, none_m_preds, all_v_scalar_ptr_eew32_index_ops)
- DEF_RVV_FUNCTION (vsuxei64, indexed_loadstore, none_m_preds, all_v_scalar_ptr_eew64_index_ops)
  DEF_RVV_FUNCTION (vsoxei8, indexed_loadstore, none_m_preds, all_v_scalar_ptr_eew8_index_ops)
  DEF_RVV_FUNCTION (vsoxei16, indexed_loadstore, none_m_preds, all_v_scalar_ptr_eew16_index_ops)
  DEF_RVV_FUNCTION (vsoxei32, indexed_loadstore, none_m_preds, all_v_scalar_ptr_eew32_index_ops)
--- 111,126 ----
*************** DEF_RVV_FUNCTION (vsoxei64, indexed_load
*** 79,84 ****
--- 129,149 ----
  // 7.7. Unit-stride Fault-Only-First Loads
  DEF_RVV_FUNCTION (vleff, fault_load, full_preds, all_v_scalar_const_ptr_size_ptr_ops)
  
+ // 7.8. Vector Load/Store Segment Instructions
+ DEF_RVV_FUNCTION (vlseg, seg_loadstore, full_preds, tuple_v_scalar_const_ptr_ops)
+ DEF_RVV_FUNCTION (vsseg, seg_loadstore, none_m_preds, tuple_v_scalar_ptr_ops)
+ DEF_RVV_FUNCTION (vlsseg, seg_loadstore, full_preds, tuple_v_scalar_const_ptr_ptrdiff_ops)
+ DEF_RVV_FUNCTION (vssseg, seg_loadstore, none_m_preds, tuple_v_scalar_ptr_ptrdiff_ops)
+ DEF_RVV_FUNCTION (vloxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew8_index_ops)
+ DEF_RVV_FUNCTION (vloxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew16_index_ops)
+ DEF_RVV_FUNCTION (vloxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew32_index_ops)
+ DEF_RVV_FUNCTION (vloxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew64_index_ops)
+ DEF_RVV_FUNCTION (vsoxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew8_index_ops)
+ DEF_RVV_FUNCTION (vsoxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew16_index_ops)
+ DEF_RVV_FUNCTION (vsoxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew32_index_ops)
+ DEF_RVV_FUNCTION (vsoxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew64_index_ops)
+ DEF_RVV_FUNCTION (vlsegff, seg_fault_load, full_preds, tuple_v_scalar_const_ptr_size_ptr_ops)
+ 
  /* 11. Vector Integer Arithmetic Instructions.  */
  
  // 11.1. Vector Single-Width Integer Add and Subtract
*************** DEF_RVV_FUNCTION (vwsub, widen_alu, full
*** 109,122 ****
  DEF_RVV_FUNCTION (vwcvt_x, alu, full_preds, i_x_x_v_ops)
  DEF_RVV_FUNCTION (vwcvtu_x, alu, full_preds, u_x_x_v_ops)
  
- // 11.3. Vector Integer Extension
- DEF_RVV_FUNCTION (vzext, widen_alu, full_preds, u_vf2_ops)
- DEF_RVV_FUNCTION (vzext, widen_alu, full_preds, u_vf4_ops)
- DEF_RVV_FUNCTION (vzext, widen_alu, full_preds, u_vf8_ops)
- DEF_RVV_FUNCTION (vsext, widen_alu, full_preds, i_vf2_ops)
- DEF_RVV_FUNCTION (vsext, widen_alu, full_preds, i_vf4_ops)
- DEF_RVV_FUNCTION (vsext, widen_alu, full_preds, i_vf8_ops)
- 
  // 11.4. Vector Integer Add-with-Carry/Subtract-with-Borrow Instructions
  DEF_RVV_FUNCTION (vadc, no_mask_policy, none_tu_preds, iu_vvvm_ops)
  DEF_RVV_FUNCTION (vadc, no_mask_policy, none_tu_preds, iu_vvxm_ops)
--- 174,179 ----
*************** DEF_RVV_FUNCTION (vssubu, alu, full_pred
*** 254,269 ****
  DEF_RVV_FUNCTION (vssub, alu, full_preds, i_vvv_ops)
  DEF_RVV_FUNCTION (vssub, alu, full_preds, i_vvx_ops)
  
- // 12.2. Vector Single-Width Averaging Add and Subtract
- DEF_RVV_FUNCTION (vaaddu, alu, full_preds, u_vvv_ops)
- DEF_RVV_FUNCTION (vaaddu, alu, full_preds, u_vvx_ops)
- DEF_RVV_FUNCTION (vaadd, alu, full_preds, i_vvv_ops)
- DEF_RVV_FUNCTION (vaadd, alu, full_preds, i_vvx_ops)
- DEF_RVV_FUNCTION (vasubu, alu, full_preds, u_vvv_ops)
- DEF_RVV_FUNCTION (vasubu, alu, full_preds, u_vvx_ops)
- DEF_RVV_FUNCTION (vasub, alu, full_preds, i_vvv_ops)
- DEF_RVV_FUNCTION (vasub, alu, full_preds, i_vvx_ops)
- 
  // 12.3. Vector Single-Width Fractional Multiply with Rounding and Saturation
  DEF_RVV_FUNCTION (vsmul, alu, full_preds, full_v_i_vvv_ops)
  DEF_RVV_FUNCTION (vsmul, alu, full_preds, full_v_i_vvx_ops)
--- 311,316 ----
*************** DEF_RVV_FUNCTION (vfsqrt, alu, full_pred
*** 389,402 ****
  
  DEF_RVV_FUNCTION (vfsqrt_frm, alu_frm, full_preds, f_v_ops)
  
- // 13.9. Vector Floating-Point Reciprocal Square-Root Estimate Instruction
- DEF_RVV_FUNCTION (vfrsqrt7, alu, full_preds, f_v_ops)
- 
- // 13.10. Vector Floating-Point Reciprocal Estimate Instruction
- DEF_RVV_FUNCTION (vfrec7, alu, full_preds, f_v_ops)
- 
- DEF_RVV_FUNCTION (vfrec7_frm, alu_frm, full_preds, f_v_ops)
- 
  // 13.11. Vector Floating-Point MIN/MAX Instructions
  DEF_RVV_FUNCTION (vfmin, alu, full_preds, f_vvv_ops)
  DEF_RVV_FUNCTION (vfmin, alu, full_preds, f_vvf_ops)
--- 436,441 ----
*************** DEF_RVV_FUNCTION (vslideup, alu, full_pr
*** 554,566 ****
  DEF_RVV_FUNCTION (vslidedown, alu, full_preds, all_vvx_ops)
  DEF_RVV_FUNCTION (vslide1up, alu, full_preds, iu_vvx_ops)
  DEF_RVV_FUNCTION (vslide1down, alu, full_preds, iu_vvx_ops)
- DEF_RVV_FUNCTION (vfslide1up, alu, full_preds, f_vvf_ops)
- DEF_RVV_FUNCTION (vfslide1down, alu, full_preds, f_vvf_ops)
  
  // 16.4. Vector Register Gather Instructions
  DEF_RVV_FUNCTION (vrgather, alu, full_preds, all_gather_vvv_ops)
  DEF_RVV_FUNCTION (vrgather, alu, full_preds, all_gather_vvx_ops)
- DEF_RVV_FUNCTION (vrgatherei16, alu, full_preds, all_gatherei16_vvv_ops)
  
  // 16.5. Vector Compress Instruction
  DEF_RVV_FUNCTION (vcompress, alu, none_tu_preds, all_vvm_ops)
--- 593,602 ----
*************** DEF_RVV_FUNCTION (vget, vget, none_preds
*** 629,656 ****
  DEF_RVV_FUNCTION (vcreate, vcreate, none_preds, all_v_vcreate_tuple_ops)
  DEF_RVV_FUNCTION (vundefined, vundefined, none_preds, all_none_void_tuple_ops)
  
- // 7.8. Vector Load/Store Segment Instructions
- DEF_RVV_FUNCTION (vlseg, seg_loadstore, full_preds, tuple_v_scalar_const_ptr_ops)
- DEF_RVV_FUNCTION (vsseg, seg_loadstore, none_m_preds, tuple_v_scalar_ptr_ops)
- DEF_RVV_FUNCTION (vlsseg, seg_loadstore, full_preds, tuple_v_scalar_const_ptr_ptrdiff_ops)
- DEF_RVV_FUNCTION (vssseg, seg_loadstore, none_m_preds, tuple_v_scalar_ptr_ptrdiff_ops)
- DEF_RVV_FUNCTION (vluxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew8_index_ops)
- DEF_RVV_FUNCTION (vluxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew16_index_ops)
- DEF_RVV_FUNCTION (vluxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew32_index_ops)
- DEF_RVV_FUNCTION (vluxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew64_index_ops)
- DEF_RVV_FUNCTION (vloxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew8_index_ops)
- DEF_RVV_FUNCTION (vloxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew16_index_ops)
- DEF_RVV_FUNCTION (vloxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew32_index_ops)
- DEF_RVV_FUNCTION (vloxseg, seg_indexed_loadstore, full_preds, tuple_v_scalar_const_ptr_eew64_index_ops)
- DEF_RVV_FUNCTION (vsuxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew8_index_ops)
- DEF_RVV_FUNCTION (vsuxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew16_index_ops)
- DEF_RVV_FUNCTION (vsuxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew32_index_ops)
- DEF_RVV_FUNCTION (vsuxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew64_index_ops)
- DEF_RVV_FUNCTION (vsoxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew8_index_ops)
- DEF_RVV_FUNCTION (vsoxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew16_index_ops)
- DEF_RVV_FUNCTION (vsoxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew32_index_ops)
- DEF_RVV_FUNCTION (vsoxseg, seg_indexed_loadstore, none_m_preds, tuple_v_scalar_ptr_eew64_index_ops)
- DEF_RVV_FUNCTION (vlsegff, seg_fault_load, full_preds, tuple_v_scalar_const_ptr_size_ptr_ops)
  #undef REQUIRED_EXTENSIONS
  
  /* Definition of crypto vector intrinsic functions */
--- 665,670 ----
diff -Nrcpad gcc-16-20260118/gcc/config/riscv/riscv-vector-builtins.cc gcc-16-20260125/gcc/config/riscv/riscv-vector-builtins.cc
*** gcc-16-20260118/gcc/config/riscv/riscv-vector-builtins.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/riscv/riscv-vector-builtins.cc	Sun Jan 25 22:32:07 2026
*************** static GTY (()) tree abi_vector_types[NU
*** 3563,3570 ****
  extern GTY (()) rvv_builtin_types_t builtin_types[NUM_VECTOR_TYPES + 1];
  rvv_builtin_types_t builtin_types[NUM_VECTOR_TYPES + 1];
  
! /* The list of all registered function decls, indexed by code.  */
! static GTY (()) vec<registered_function *, va_gc> *registered_functions;
  
  /* All registered function decls, hashed on the function_instance
     that they implement.  This is used for looking up implementations of
--- 3563,3679 ----
  extern GTY (()) rvv_builtin_types_t builtin_types[NUM_VECTOR_TYPES + 1];
  rvv_builtin_types_t builtin_types[NUM_VECTOR_TYPES + 1];
  
! /* Per-partition vectors of registered functions.  */
! static GTY (()) vec<registered_function *, va_gc>
!   *partition_functions[NUM_RVV_EXT_PARTITIONS];
! 
! /* Return true if TYPE uses fractional LMUL (mf2, mf4, mf8).  */
! static bool
! is_fractional_lmul (vector_type_index type)
! {
!   /* Check if the type suffix contains "mf" indicating fractional LMUL.  */
!   if (type >= NUM_VECTOR_TYPES)
!     return false;
!   const char *suffix = type_suffixes[type].vector;
!   return suffix && strstr (suffix, "mf") != NULL;
! }
! 
! /* Return true if BASE is an intrinsic unsupported by XTheadVector.
!    According to
!     https://github.com/XUANTIE-RV/thead-extension-spec/blob/master/xtheadvector/intrinsics.adoc#xtheadvector
! 
!    XTheadVector lacks support for:
!    - Fractional LMUL types (checked separately via is_fractional_lmul)
!    - vlm/vsm
!    - vzext/vsext
!    - vaaddu/vasubu
!    - vfrsqrt7/vfrec7
!    - vfslide1up/vfslide1down
!    - vluxseg/vsuxseg
!    - vluxei8/vluxei16/vluxei32/vluxei64
!    - vrgatherei16.  */
! 
! static bool
! xthvector_unsupported_p (const function_base *base)
! {
!   return base == bases::vlm
! 	 || base == bases::vsm
! 	 || base == bases::vzext
! 	 || base == bases::vsext
! 	 || base == bases::vaaddu
! 	 || base == bases::vasubu
! 	 || base == bases::vfrsqrt7
! 	 || base == bases::vfrec7
! 	 || base == bases::vfrec7_frm
! 	 || base == bases::vfslide1up
! 	 || base == bases::vfslide1down
! 	 || base == bases::vluxseg
! 	 || base == bases::vsuxseg
! 	 || base == bases::vluxei8
! 	 || base == bases::vluxei16
! 	 || base == bases::vluxei32
! 	 || base == bases::vluxei64
! 	 || base == bases::vrgatherei16;
! }
! 
! /* Map required_ext to partition, splitting VECTOR_EXT based on instance.  */
! static rvv_builtin_partition
! get_builtin_partition (required_ext ext, const function_instance &instance)
! {
!   switch (ext)
!     {
!     case VECTOR_EXT:
!       if (is_fractional_lmul (instance.type.index)
! 	  || xthvector_unsupported_p (instance.base))
! 	return RVV_PARTITION_VECTOR_NO_XTHEAD;
!       else
! 	return RVV_PARTITION_VECTOR;
!     case VECTOR_EXT_NO_XTHEAD:
!       return RVV_PARTITION_VECTOR_NO_XTHEAD;
!     case XTHEADVECTOR_EXT:
!       return RVV_PARTITION_XTHEADVECTOR;
!     case ZVBB_EXT:
!       return RVV_PARTITION_ZVBB;
!     case ZVBB_OR_ZVKB_EXT:
!       return RVV_PARTITION_ZVBB_OR_ZVKB;
!     case ZVBC_EXT:
!       return RVV_PARTITION_ZVBC;
!     case ZVKG_EXT:
!       return RVV_PARTITION_ZVKG;
!     case ZVKNED_EXT:
!       return RVV_PARTITION_ZVKNED;
!     case ZVKNHA_OR_ZVKNHB_EXT:
!       return RVV_PARTITION_ZVKNHA_OR_ZVKNHB;
!     case ZVKNHB_EXT:
!       return RVV_PARTITION_ZVKNHB;
!     case ZVKSED_EXT:
!       return RVV_PARTITION_ZVKSED;
!     case ZVKSH_EXT:
!       return RVV_PARTITION_ZVKSH;
!     case ZVFBFMIN_EXT:
!       return RVV_PARTITION_ZVFBFMIN;
!     case ZVFBFWMA_EXT:
!       return RVV_PARTITION_ZVFBFWMA;
!     case XSFVQMACCQOQ_EXT:
!       return RVV_PARTITION_XSFVQMACCQOQ;
!     case XSFVQMACCDOD_EXT:
!       return RVV_PARTITION_XSFVQMACCDOD;
!     case XSFVFNRCLIPXFQF_EXT:
!       return RVV_PARTITION_XSFVFNRCLIPXFQF;
!     case XSFVCP_EXT:
!       return RVV_PARTITION_XSFVCP;
!     case XANDESVBFHCVT_EXT:
!       return RVV_PARTITION_XANDESVBFHCVT;
!     case XANDESVSINTLOAD_EXT:
!       return RVV_PARTITION_XANDESVSINTLOAD;
!     case XANDESVPACKFPH_EXT:
!       return RVV_PARTITION_XANDESVPACKFPH;
!     case XANDESVDOT_EXT:
!       return RVV_PARTITION_XANDESVDOT;
!     default:
!       gcc_unreachable ();
!     }
! }
  
  /* All registered function decls, hashed on the function_instance
     that they implement.  This is used for looking up implementations of
*************** function_builder::add_function (const fu
*** 4448,4455 ****
  				enum required_ext required,
  				bool overloaded_p = false)
  {
!   unsigned int code = vec_safe_length (registered_functions);
!   code = (code << RISCV_BUILTIN_SHIFT) + RISCV_BUILTIN_VECTOR;
  
    /* We need to be able to generate placeholders to ensure that we have a
       consistent numbering scheme for function codes between the C and C++
--- 4557,4571 ----
  				enum required_ext required,
  				bool overloaded_p = false)
  {
!   /* Compute the partition for this function.  The per-partition index
!      is determined by the current length of that partition's vector.  */
!   rvv_builtin_partition ext_partition
!     = get_builtin_partition (required, instance);
!   unsigned int index = vec_safe_length (partition_functions[ext_partition]);
! 
!   unsigned int code = (index << RVV_SUBCODE_SHIFT)
! 		      | (ext_partition << RVV_EXT_PARTITION_SHIFT)
! 		      | RISCV_BUILTIN_VECTOR;
  
    /* We need to be able to generate placeholders to ensure that we have a
       consistent numbering scheme for function codes between the C and C++
*************** function_builder::add_function (const fu
*** 4475,4482 ****
    rfn.overload_name = overload_name ? xstrdup (overload_name) : NULL;
    rfn.argument_types = argument_types;
    rfn.overloaded_p = overloaded_p;
!   rfn.required = required;
!   vec_safe_push (registered_functions, &rfn);
  
    return rfn;
  }
--- 4591,4605 ----
    rfn.overload_name = overload_name ? xstrdup (overload_name) : NULL;
    rfn.argument_types = argument_types;
    rfn.overloaded_p = overloaded_p;
!   /* Update required extension based on partition.  Functions placed in
!      the NO_XTHEAD partition due to fractional LMUL or unsupported ops
!      need VECTOR_EXT_NO_XTHEAD to get proper error messages.  */
!   if (ext_partition == RVV_PARTITION_VECTOR_NO_XTHEAD
!       && required == VECTOR_EXT)
!     rfn.required = VECTOR_EXT_NO_XTHEAD;
!   else
!     rfn.required = required;
!   vec_safe_push (partition_functions[ext_partition], &rfn);
  
    return rfn;
  }
*************** function_expander::use_exact_insn (insn_
*** 4716,4724 ****
    return generate_insn (icode);
  }
  
! /* Use contiguous load INSN.  */
! rtx
! function_expander::use_contiguous_load_insn (insn_code icode)
  {
    gcc_assert (call_expr_nargs (exp) > 0);
    machine_mode mode = TYPE_MODE (TREE_TYPE (exp));
--- 4839,4846 ----
    return generate_insn (icode);
  }
  
! int
! function_expander::prepare_contiguous_load_insn ()
  {
    gcc_assert (call_expr_nargs (exp) > 0);
    machine_mode mode = TYPE_MODE (TREE_TYPE (exp));
*************** function_expander::use_contiguous_load_i
*** 4737,4746 ****
--- 4859,4877 ----
      add_vundef_operand (mode);
  
    add_mem_operand (mode, arg_offset++);
+   return arg_offset;
+ }
+ 
+ /* Use contiguous load INSN.  */
+ rtx
+ function_expander::use_contiguous_load_insn (insn_code icode)
+ {
+   int arg_offset = prepare_contiguous_load_insn ();
  
    for (int argno = arg_offset; argno < call_expr_nargs (exp); argno++)
      add_input_operand (argno);
  
+   machine_mode mode = TYPE_MODE (TREE_TYPE (exp));
    if (GET_MODE_CLASS (mode) != MODE_VECTOR_BOOL)
      {
        add_input_operand (Pmode, get_tail_policy_for_pred (pred));
*************** function_expander::use_contiguous_load_i
*** 4749,4758 ****
  
    if (opno != insn_data[icode].n_generator_args)
      add_input_operand (Pmode, get_avl_type_rtx (avl_type::NONVLMAX));
- 
    return generate_insn (icode);
  }
  
  /* Use contiguous store INSN.  */
  rtx
  function_expander::use_contiguous_store_insn (insn_code icode)
--- 4880,4937 ----
  
    if (opno != insn_data[icode].n_generator_args)
      add_input_operand (Pmode, get_avl_type_rtx (avl_type::NONVLMAX));
    return generate_insn (icode);
  }
  
+ /* Similar to use_contiguous_load_insn but skips the vector-length destination
+    operand that a fault-only-first load intrinsic has.  Then we add tail and
+    mask policy as well as AVL operand.  Last, add the vector-length destination
+    operand that we skipped initially.  */
+ rtx
+ function_expander::use_fof_load_insn ()
+ {
+   int arg_offset = prepare_contiguous_load_insn ();
+ 
+   int vl_dest_arg = call_expr_nargs (exp) - 2;
+   for (int argno = arg_offset; argno < call_expr_nargs (exp); argno++)
+     {
+       /* Skip argument for VL destination in memory but add the others.  */
+       if (argno != vl_dest_arg)
+ 	add_input_operand (argno);
+     }
+ 
+   machine_mode mode = TYPE_MODE (TREE_TYPE (exp));
+   if (GET_MODE_CLASS (mode) != MODE_VECTOR_BOOL)
+     {
+       add_input_operand (Pmode, get_tail_policy_for_pred (pred));
+       add_input_operand (Pmode, get_mask_policy_for_pred (pred));
+     }
+ 
+   add_input_operand (Pmode, get_avl_type_rtx (avl_type::NONVLMAX));
+ 
+   tree arg = CALL_EXPR_ARG (exp, vl_dest_arg);
+ 
+   /* Use a regular FoF load if the user does not want to store VL.  */
+   insn_code icode = code_for_pred_fault_load (mode);
+   rtx result = generate_insn (icode);
+ 
+   /* If user wants VL stored, emit a read_vl and store to memory.  */
+   if (!integer_zerop (arg))
+     {
+       rtx vl_reg = gen_reg_rtx (Pmode);
+       if (Pmode == SImode)
+ 	emit_insn (gen_read_vlsi (vl_reg));
+       else
+ 	emit_insn (gen_read_vldi_zero_extend (vl_reg));
+ 
+       rtx addr = expand_normal (arg);
+       rtx mem = gen_rtx_MEM (Pmode, memory_address (Pmode, addr));
+       emit_move_insn (mem, vl_reg);
+     }
+ 
+   return result;
+ }
+ 
  /* Use contiguous store INSN.  */
  rtx
  function_expander::use_contiguous_store_insn (insn_code icode)
*************** handle_pragma_vector ()
*** 5422,5436 ****
      builder.register_function_group (function_groups[i]);
  }
  
  /* Return the function decl with RVV function subcode CODE, or error_mark_node
     if no such function exists.  */
  tree
  builtin_decl (unsigned int code, bool)
  {
!   if (code >= vec_safe_length (registered_functions))
      return error_mark_node;
  
!   return (*registered_functions)[code]->decl;
  }
  
  /* Attempt to fold STMT, given that it's a call to the RVV function
--- 5601,5634 ----
      builder.register_function_group (function_groups[i]);
  }
  
+ /* Find the registered_function with the given subcode (code without
+    the class bit), or return NULL.  */
+ static registered_function *
+ lookup_registered_function (unsigned int subcode)
+ {
+   unsigned int partition = subcode & ((1u << RVV_EXT_PARTITION_BITS) - 1);
+   unsigned int index = subcode >> RVV_EXT_PARTITION_BITS;
+ 
+   if (partition >= NUM_RVV_EXT_PARTITIONS)
+     return NULL;
+ 
+   vec<registered_function *, va_gc> *funcs = partition_functions[partition];
+   if (!funcs || index >= funcs->length ())
+     return NULL;
+ 
+   return (*funcs)[index];
+ }
+ 
  /* Return the function decl with RVV function subcode CODE, or error_mark_node
     if no such function exists.  */
  tree
  builtin_decl (unsigned int code, bool)
  {
!   registered_function *rfn = lookup_registered_function (code);
!   if (!rfn)
      return error_mark_node;
  
!   return rfn->decl;
  }
  
  /* Attempt to fold STMT, given that it's a call to the RVV function
*************** builtin_decl (unsigned int code, bool)
*** 5439,5446 ****
  gimple *
  gimple_fold_builtin (unsigned int code, gimple_stmt_iterator *gsi, gcall *stmt)
  {
!   registered_function &rfn = *(*registered_functions)[code];
!   return gimple_folder (rfn.instance, rfn.decl, gsi, stmt).fold ();
  }
  
  static bool
--- 5637,5646 ----
  gimple *
  gimple_fold_builtin (unsigned int code, gimple_stmt_iterator *gsi, gcall *stmt)
  {
!   registered_function *rfn = lookup_registered_function (code);
!   if (!rfn)
!     return NULL;
!   return gimple_folder (rfn->instance, rfn->decl, gsi, stmt).fold ();
  }
  
  static bool
*************** validate_instance_type_required_extensio
*** 5507,5527 ****
  rtx
  expand_builtin (unsigned int code, tree exp, rtx target)
  {
!   registered_function &rfn = *(*registered_functions)[code];
  
!   if (!required_extensions_specified (rfn.required))
      {
        error_at (EXPR_LOCATION (exp),
  		"built-in function %qE requires the %qs ISA extension",
  		exp,
! 		required_ext_to_isa_name (rfn.required));
        return target;
      }
  
!   if (!validate_instance_type_required_extensions (rfn.instance.type, exp))
      return target;
  
!   return function_expander (rfn.instance, rfn.decl, exp, target).expand ();
  }
  
  /* Perform any semantic checks needed for a call to the RVV function
--- 5707,5732 ----
  rtx
  expand_builtin (unsigned int code, tree exp, rtx target)
  {
!   registered_function *rfn = lookup_registered_function (code);
!   if (!rfn)
!     {
!       error_at (EXPR_LOCATION (exp), "unrecognized RVV builtin");
!       return target;
!     }
  
!   if (!required_extensions_specified (rfn->required))
      {
        error_at (EXPR_LOCATION (exp),
  		"built-in function %qE requires the %qs ISA extension",
  		exp,
! 		required_ext_to_isa_name (rfn->required));
        return target;
      }
  
!   if (!validate_instance_type_required_extensions (rfn->instance.type, exp))
      return target;
  
!   return function_expander (rfn->instance, rfn->decl, exp, target).expand ();
  }
  
  /* Perform any semantic checks needed for a call to the RVV function
*************** bool
*** 5535,5553 ****
  check_builtin_call (location_t location, vec<location_t>, unsigned int code,
  		    tree fndecl, unsigned int nargs, tree *args)
  {
!   const registered_function &rfn = *(*registered_functions)[code];
!   return function_checker (location, rfn.instance, fndecl,
! 			   TREE_TYPE (rfn.decl), nargs, args).check ();
  }
  
  tree
  resolve_overloaded_builtin (location_t loc, unsigned int code, tree fndecl,
  			    vec<tree, va_gc> *arglist)
  {
!   if (code >= vec_safe_length (registered_functions))
!     return NULL_TREE;
! 
!   registered_function *rfun = (*registered_functions)[code];
  
    if (!rfun || !rfun->overloaded_p)
      return NULL_TREE;
--- 5740,5757 ----
  check_builtin_call (location_t location, vec<location_t>, unsigned int code,
  		    tree fndecl, unsigned int nargs, tree *args)
  {
!   registered_function *rfn = lookup_registered_function (code);
!   if (!rfn)
!     return false;
!   return function_checker (location, rfn->instance, fndecl,
! 			   TREE_TYPE (rfn->decl), nargs, args).check ();
  }
  
  tree
  resolve_overloaded_builtin (location_t loc, unsigned int code, tree fndecl,
  			    vec<tree, va_gc> *arglist)
  {
!   registered_function *rfun = lookup_registered_function (code);
  
    if (!rfun || !rfun->overloaded_p)
      return NULL_TREE;
diff -Nrcpad gcc-16-20260118/gcc/config/riscv/riscv-vector-builtins.h gcc-16-20260125/gcc/config/riscv/riscv-vector-builtins.h
*** gcc-16-20260118/gcc/config/riscv/riscv-vector-builtins.h	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/riscv/riscv-vector-builtins.h	Sun Jan 25 22:32:07 2026
*************** static const unsigned int CP_WRITE_CSR =
*** 115,120 ****
--- 115,123 ----
  enum required_ext
  {
    VECTOR_EXT,		/* Vector extension */
+   VECTOR_EXT_NO_XTHEAD, /* Vector extensions parts unsupported by
+ 			   TheadVector. */
+   XTHEADVECTOR_EXT,	/* XTheadVector extension */
    ZVBB_EXT,		/* Crypto vector Zvbb sub-ext */
    ZVBB_OR_ZVKB_EXT,	/* Crypto vector Zvbb or zvkb sub-ext */
    ZVBC_EXT,		/* Crypto vector Zvbc sub-ext */
*************** enum required_ext
*** 124,148 ****
    ZVKNHB_EXT,		/* Crypto vector Zvknhb sub-ext */
    ZVKSED_EXT,		/* Crypto vector Zvksed sub-ext */
    ZVKSH_EXT,		/* Crypto vector Zvksh sub-ext */
-   XTHEADVECTOR_EXT,	/* XTheadVector extension */
    ZVFBFMIN_EXT,		/* Zvfbfmin extension */
    ZVFBFWMA_EXT,		/* Zvfbfwma extension */
    XSFVQMACCQOQ_EXT,	/* XSFVQMACCQOQ extension */
    XSFVQMACCDOD_EXT,	/* XSFVQMACCDOD extension */
    XSFVFNRCLIPXFQF_EXT,	/* XSFVFNRCLIPXFQF extension */
!   XSFVCP_EXT, /* XSFVCP extension*/
!   XANDESVBFHCVT_EXT,    /* XANDESVBFHCVT extension */
!   XANDESVSINTLOAD_EXT,  /* XANDESVSINTLOAD extension */
!   XANDESVPACKFPH_EXT,   /* XANDESVPACKFPH extension */
!   XANDESVDOT_EXT,       /* XANDESVDOT extension */
!   /* Please update below to isa_name func when add or remove enum type(s).  */
  };
  
  static inline const char * required_ext_to_isa_name (enum required_ext required)
  {
    switch (required)
    {
      case VECTOR_EXT:
        return "v";
      case ZVBB_EXT:
        return "zvbb";
--- 127,191 ----
    ZVKNHB_EXT,		/* Crypto vector Zvknhb sub-ext */
    ZVKSED_EXT,		/* Crypto vector Zvksed sub-ext */
    ZVKSH_EXT,		/* Crypto vector Zvksh sub-ext */
    ZVFBFMIN_EXT,		/* Zvfbfmin extension */
    ZVFBFWMA_EXT,		/* Zvfbfwma extension */
    XSFVQMACCQOQ_EXT,	/* XSFVQMACCQOQ extension */
    XSFVQMACCDOD_EXT,	/* XSFVQMACCDOD extension */
    XSFVFNRCLIPXFQF_EXT,	/* XSFVFNRCLIPXFQF extension */
!   XSFVCP_EXT,		/* XSFVCP extension */
!   XANDESVBFHCVT_EXT,	/* XANDESVBFHCVT extension */
!   XANDESVSINTLOAD_EXT,	/* XANDESVSINTLOAD extension */
!   XANDESVPACKFPH_EXT,	/* XANDESVPACKFPH extension */
!   XANDESVDOT_EXT,	/* XANDESVDOT extension */
!   /* Please update required_ext_to_isa_name and required_extensions_specified
!      when adding or removing enum values.  */
  };
  
+ enum rvv_builtin_partition
+ {
+   RVV_PARTITION_VECTOR,
+   RVV_PARTITION_VECTOR_NO_XTHEAD,
+   RVV_PARTITION_XTHEADVECTOR,
+   RVV_PARTITION_ZVBB,
+   RVV_PARTITION_ZVBB_OR_ZVKB,
+   RVV_PARTITION_ZVBC,
+   RVV_PARTITION_ZVKG,
+   RVV_PARTITION_ZVKNED,
+   RVV_PARTITION_ZVKNHA_OR_ZVKNHB,
+   RVV_PARTITION_ZVKNHB,
+   RVV_PARTITION_ZVKSED,
+   RVV_PARTITION_ZVKSH,
+   RVV_PARTITION_ZVFBFMIN,
+   RVV_PARTITION_ZVFBFWMA,
+   RVV_PARTITION_ZVFHMIN,
+   RVV_PARTITION_ZVFH,
+   RVV_PARTITION_XSFVQMACCQOQ,
+   RVV_PARTITION_XSFVQMACCDOD,
+   RVV_PARTITION_XSFVFNRCLIPXFQF,
+   RVV_PARTITION_XSFVCP,
+   RVV_PARTITION_XANDESVBFHCVT,
+   RVV_PARTITION_XANDESVSINTLOAD,
+   RVV_PARTITION_XANDESVPACKFPH,
+   RVV_PARTITION_XANDESVDOT,
+   NUM_RVV_EXT_PARTITIONS
+ };
+ 
+ /* Partition encoding for builtin function codes.
+      Bit 0:       RISCV_BUILTIN_VECTOR (class bit)
+      Bits 1-8:    Partition (rvv_builtin_partition enum)
+      Bits 9+:     Index within partition.
+      */
+ const unsigned int RVV_EXT_PARTITION_BITS = 8;
+ const unsigned int RVV_EXT_PARTITION_SHIFT = 1; /* Class Bit.  */
+ const unsigned int RVV_SUBCODE_SHIFT = RVV_EXT_PARTITION_SHIFT
+ 				       + RVV_EXT_PARTITION_BITS;
+ 
  static inline const char * required_ext_to_isa_name (enum required_ext required)
  {
    switch (required)
    {
      case VECTOR_EXT:
+     case VECTOR_EXT_NO_XTHEAD:
        return "v";
      case ZVBB_EXT:
        return "zvbb";
*************** static inline bool required_extensions_s
*** 196,202 ****
    switch (required)
    {
      case VECTOR_EXT:
!       return TARGET_VECTOR;;
      case ZVBB_EXT:
        return TARGET_ZVBB;
      case ZVBB_OR_ZVKB_EXT:
--- 239,247 ----
    switch (required)
    {
      case VECTOR_EXT:
!       return TARGET_VECTOR;
!     case VECTOR_EXT_NO_XTHEAD:
!       return TARGET_VECTOR && !TARGET_XTHEADVECTOR;
      case ZVBB_EXT:
        return TARGET_ZVBB;
      case ZVBB_OR_ZVKB_EXT:
*************** public:
*** 503,509 ****
--- 548,556 ----
    machine_mode ret_mode (void) const;
  
    rtx use_exact_insn (insn_code);
+   int prepare_contiguous_load_insn ();
    rtx use_contiguous_load_insn (insn_code);
+   rtx use_fof_load_insn ();
    rtx use_contiguous_store_insn (insn_code);
    rtx use_compare_insn (rtx_code, insn_code);
    rtx use_ternop_insn (bool, insn_code);
diff -Nrcpad gcc-16-20260118/gcc/config/riscv/riscv-vector-switch.def gcc-16-20260125/gcc/config/riscv/riscv-vector-switch.def
*** gcc-16-20260118/gcc/config/riscv/riscv-vector-switch.def	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/riscv/riscv-vector-switch.def	Sun Jan 25 22:32:07 2026
*************** Encode the ratio of SEW/LMUL into the ma
*** 70,78 ****
  #endif
  
  /* Disable modes if TARGET_MIN_VLEN == 32.  */
! ENTRY (RVVMF64BI, TARGET_VECTOR_ELEN_64, TARGET_XTHEADVECTOR ? LMUL_1 :LMUL_F8, 64)
! ENTRY (RVVMF32BI, true, TARGET_XTHEADVECTOR ? LMUL_1 :LMUL_F4, 32)
! ENTRY (RVVMF16BI, true, TARGET_XTHEADVECTOR ? LMUL_1 : LMUL_F2 , 16)
  ENTRY (RVVMF8BI, true, LMUL_1, 8)
  ENTRY (RVVMF4BI, true, LMUL_2, 4)
  ENTRY (RVVMF2BI, true, LMUL_4, 2)
--- 70,78 ----
  #endif
  
  /* Disable modes if TARGET_MIN_VLEN == 32.  */
! ENTRY (RVVMF64BI, TARGET_VECTOR_ELEN_64, LMUL_F8, 64)
! ENTRY (RVVMF32BI, true, LMUL_F4, 32)
! ENTRY (RVVMF16BI, true, LMUL_F2 , 16)
  ENTRY (RVVMF8BI, true, LMUL_1, 8)
  ENTRY (RVVMF4BI, true, LMUL_2, 4)
  ENTRY (RVVMF2BI, true, LMUL_4, 2)
*************** ENTRY (RVVM8QI, true, LMUL_8, 1)
*** 83,99 ****
  ENTRY (RVVM4QI, true, LMUL_4, 2)
  ENTRY (RVVM2QI, true, LMUL_2, 4)
  ENTRY (RVVM1QI, true, LMUL_1, 8)
! ENTRY (RVVMF2QI, !TARGET_XTHEADVECTOR, LMUL_F2, 16)
! ENTRY (RVVMF4QI, !TARGET_XTHEADVECTOR, LMUL_F4, 32)
! ENTRY (RVVMF8QI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, LMUL_F8, 64)
  
  /* Disable modes if TARGET_MIN_VLEN == 32.  */
  ENTRY (RVVM8HI, true, LMUL_8, 2)
  ENTRY (RVVM4HI, true, LMUL_4, 4)
  ENTRY (RVVM2HI, true, LMUL_2, 8)
  ENTRY (RVVM1HI, true, LMUL_1, 16)
! ENTRY (RVVMF2HI, !TARGET_XTHEADVECTOR, LMUL_F2, 32)
! ENTRY (RVVMF4HI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, LMUL_F4, 64)
  
  /* Disable modes if TARGET_MIN_VLEN == 32 or !TARGET_VECTOR_ELEN_BF_16.  */
  ENTRY (RVVM8BF, TARGET_VECTOR_ELEN_BF_16, LMUL_8, 2)
--- 83,99 ----
  ENTRY (RVVM4QI, true, LMUL_4, 2)
  ENTRY (RVVM2QI, true, LMUL_2, 4)
  ENTRY (RVVM1QI, true, LMUL_1, 8)
! ENTRY (RVVMF2QI, true, LMUL_F2, 16)
! ENTRY (RVVMF4QI, true, LMUL_F4, 32)
! ENTRY (RVVMF8QI, TARGET_VECTOR_ELEN_64, LMUL_F8, 64)
  
  /* Disable modes if TARGET_MIN_VLEN == 32.  */
  ENTRY (RVVM8HI, true, LMUL_8, 2)
  ENTRY (RVVM4HI, true, LMUL_4, 4)
  ENTRY (RVVM2HI, true, LMUL_2, 8)
  ENTRY (RVVM1HI, true, LMUL_1, 16)
! ENTRY (RVVMF2HI, true, LMUL_F2, 32)
! ENTRY (RVVMF4HI, TARGET_VECTOR_ELEN_64, LMUL_F4, 64)
  
  /* Disable modes if TARGET_MIN_VLEN == 32 or !TARGET_VECTOR_ELEN_BF_16.  */
  ENTRY (RVVM8BF, TARGET_VECTOR_ELEN_BF_16, LMUL_8, 2)
*************** ENTRY (RVVM8HF, TARGET_VECTOR_ELEN_FP_16
*** 108,129 ****
  ENTRY (RVVM4HF, TARGET_VECTOR_ELEN_FP_16, LMUL_4, 4)
  ENTRY (RVVM2HF, TARGET_VECTOR_ELEN_FP_16, LMUL_2, 8)
  ENTRY (RVVM1HF, TARGET_VECTOR_ELEN_FP_16, LMUL_1, 16)
! ENTRY (RVVMF2HF, TARGET_VECTOR_ELEN_FP_16 && !TARGET_XTHEADVECTOR, LMUL_F2, 32)
! ENTRY (RVVMF4HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, LMUL_F4, 64)
  
  /* Disable modes if TARGET_MIN_VLEN == 32.  */
  ENTRY (RVVM8SI, true, LMUL_8, 4)
  ENTRY (RVVM4SI, true, LMUL_4, 8)
  ENTRY (RVVM2SI, true, LMUL_2, 16)
  ENTRY (RVVM1SI, true, LMUL_1, 32)
! ENTRY (RVVMF2SI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, LMUL_F2, 64)
  
  /* Disable modes if TARGET_MIN_VLEN == 32 or !TARGET_VECTOR_ELEN_FP_32.  */
  ENTRY (RVVM8SF, TARGET_VECTOR_ELEN_FP_32, LMUL_8, 4)
  ENTRY (RVVM4SF, TARGET_VECTOR_ELEN_FP_32, LMUL_4, 8)
  ENTRY (RVVM2SF, TARGET_VECTOR_ELEN_FP_32, LMUL_2, 16)
  ENTRY (RVVM1SF, TARGET_VECTOR_ELEN_FP_32, LMUL_1, 32)
! ENTRY (RVVMF2SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, LMUL_F2, 64)
  
  /* Disable modes if !TARGET_VECTOR_ELEN_64.  */
  ENTRY (RVVM8DI, TARGET_VECTOR_ELEN_64, LMUL_8, 8)
--- 108,129 ----
  ENTRY (RVVM4HF, TARGET_VECTOR_ELEN_FP_16, LMUL_4, 4)
  ENTRY (RVVM2HF, TARGET_VECTOR_ELEN_FP_16, LMUL_2, 8)
  ENTRY (RVVM1HF, TARGET_VECTOR_ELEN_FP_16, LMUL_1, 16)
! ENTRY (RVVMF2HF, TARGET_VECTOR_ELEN_FP_16, LMUL_F2, 32)
! ENTRY (RVVMF4HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64, LMUL_F4, 64)
  
  /* Disable modes if TARGET_MIN_VLEN == 32.  */
  ENTRY (RVVM8SI, true, LMUL_8, 4)
  ENTRY (RVVM4SI, true, LMUL_4, 8)
  ENTRY (RVVM2SI, true, LMUL_2, 16)
  ENTRY (RVVM1SI, true, LMUL_1, 32)
! ENTRY (RVVMF2SI, TARGET_VECTOR_ELEN_64, LMUL_F2, 64)
  
  /* Disable modes if TARGET_MIN_VLEN == 32 or !TARGET_VECTOR_ELEN_FP_32.  */
  ENTRY (RVVM8SF, TARGET_VECTOR_ELEN_FP_32, LMUL_8, 4)
  ENTRY (RVVM4SF, TARGET_VECTOR_ELEN_FP_32, LMUL_4, 8)
  ENTRY (RVVM2SF, TARGET_VECTOR_ELEN_FP_32, LMUL_2, 16)
  ENTRY (RVVM1SF, TARGET_VECTOR_ELEN_FP_32, LMUL_1, 32)
! ENTRY (RVVMF2SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64, LMUL_F2, 64)
  
  /* Disable modes if !TARGET_VECTOR_ELEN_64.  */
  ENTRY (RVVM8DI, TARGET_VECTOR_ELEN_64, LMUL_8, 8)
*************** ENTRY (RVVM1DF, TARGET_VECTOR_ELEN_FP_64
*** 150,212 ****
  #endif
  
  TUPLE_ENTRY (RVVM1x8QI, true, RVVM1QI, 8, LMUL_1, 8)
! TUPLE_ENTRY (RVVMF2x8QI, !TARGET_XTHEADVECTOR, RVVMF2QI, 8, LMUL_F2, 16)
! TUPLE_ENTRY (RVVMF4x8QI, !TARGET_XTHEADVECTOR, RVVMF4QI, 8, LMUL_F4, 32)
! TUPLE_ENTRY (RVVMF8x8QI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF8QI, 8, LMUL_F8, 64)
  TUPLE_ENTRY (RVVM1x7QI, true, RVVM1QI, 7, LMUL_1, 8)
! TUPLE_ENTRY (RVVMF2x7QI, !TARGET_XTHEADVECTOR, RVVMF2QI, 7, LMUL_F2, 16)
! TUPLE_ENTRY (RVVMF4x7QI, !TARGET_XTHEADVECTOR, RVVMF4QI, 7, LMUL_F4, 32)
! TUPLE_ENTRY (RVVMF8x7QI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF8QI, 7, LMUL_F8, 64)
  TUPLE_ENTRY (RVVM1x6QI, true, RVVM1QI, 6, LMUL_1, 8)
! TUPLE_ENTRY (RVVMF2x6QI, !TARGET_XTHEADVECTOR, RVVMF2QI, 6, LMUL_F2, 16)
! TUPLE_ENTRY (RVVMF4x6QI, !TARGET_XTHEADVECTOR, RVVMF4QI, 6, LMUL_F4, 32)
! TUPLE_ENTRY (RVVMF8x6QI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF8QI, 6, LMUL_F8, 64)
  TUPLE_ENTRY (RVVM1x5QI, true, RVVM1QI, 5, LMUL_1, 8)
! TUPLE_ENTRY (RVVMF2x5QI, !TARGET_XTHEADVECTOR, RVVMF2QI, 5, LMUL_F2, 16)
! TUPLE_ENTRY (RVVMF4x5QI, !TARGET_XTHEADVECTOR, RVVMF4QI, 5, LMUL_F4, 32)
! TUPLE_ENTRY (RVVMF8x5QI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF8QI, 5, LMUL_F8, 64)
  TUPLE_ENTRY (RVVM2x4QI, true, RVVM2QI, 4, LMUL_2, 4)
  TUPLE_ENTRY (RVVM1x4QI, true, RVVM1QI, 4, LMUL_1, 8)
! TUPLE_ENTRY (RVVMF2x4QI, !TARGET_XTHEADVECTOR, RVVMF2QI, 4, LMUL_F2, 16)
! TUPLE_ENTRY (RVVMF4x4QI, !TARGET_XTHEADVECTOR, RVVMF4QI, 4, LMUL_F4, 32)
! TUPLE_ENTRY (RVVMF8x4QI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF8QI, 4, LMUL_F8, 64)
  TUPLE_ENTRY (RVVM2x3QI, true, RVVM2QI, 3, LMUL_2, 4)
  TUPLE_ENTRY (RVVM1x3QI, true, RVVM1QI, 3, LMUL_1, 8)
! TUPLE_ENTRY (RVVMF2x3QI, !TARGET_XTHEADVECTOR, RVVMF2QI, 3, LMUL_F2, 16)
! TUPLE_ENTRY (RVVMF4x3QI, !TARGET_XTHEADVECTOR, RVVMF4QI, 3, LMUL_F4, 32)
! TUPLE_ENTRY (RVVMF8x3QI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF8QI, 3, LMUL_F8, 64)
  TUPLE_ENTRY (RVVM4x2QI, true, RVVM4QI, 2, LMUL_4, 2)
  TUPLE_ENTRY (RVVM2x2QI, true, RVVM2QI, 2, LMUL_2, 4)
  TUPLE_ENTRY (RVVM1x2QI, true, RVVM1QI, 2, LMUL_1, 8)
! TUPLE_ENTRY (RVVMF2x2QI, !TARGET_XTHEADVECTOR, RVVMF2QI, 2, LMUL_F2, 16)
! TUPLE_ENTRY (RVVMF4x2QI, !TARGET_XTHEADVECTOR, RVVMF4QI, 2, LMUL_F4, 32)
! TUPLE_ENTRY (RVVMF8x2QI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF8QI, 2, LMUL_F8, 64)
  
  TUPLE_ENTRY (RVVM1x8HI, true, RVVM1HI, 8, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x8HI, !TARGET_XTHEADVECTOR, RVVMF2HI, 8, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x8HI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF4HI, 8, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM1x7HI, true, RVVM1HI, 7, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x7HI, !TARGET_XTHEADVECTOR, RVVMF2HI, 7, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x7HI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF4HI, 7, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM1x6HI, true, RVVM1HI, 6, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x6HI, !TARGET_XTHEADVECTOR, RVVMF2HI, 6, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x6HI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF4HI, 6, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM1x5HI, true, RVVM1HI, 5, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x5HI, !TARGET_XTHEADVECTOR, RVVMF2HI, 5, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x5HI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF4HI, 5, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM2x4HI, true, RVVM2HI, 4, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x4HI, true, RVVM1HI, 4, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x4HI, !TARGET_XTHEADVECTOR, RVVMF2HI, 4, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x4HI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF4HI, 4, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM2x3HI, true, RVVM2HI, 3, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x3HI, true, RVVM1HI, 3, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x3HI, !TARGET_XTHEADVECTOR, RVVMF2HI, 3, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x3HI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF4HI, 3, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM4x2HI, true, RVVM4HI, 2, LMUL_4, 4)
  TUPLE_ENTRY (RVVM2x2HI, true, RVVM2HI, 2, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x2HI, true, RVVM1HI, 2, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x2HI, !TARGET_XTHEADVECTOR, RVVMF2HI, 2, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x2HI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF4HI, 2, LMUL_F4, 64)
  
  TUPLE_ENTRY (RVVM1x8BF, TARGET_VECTOR_ELEN_BF_16, RVVM1BF, 8, LMUL_1, 16)
  TUPLE_ENTRY (RVVMF2x8BF, TARGET_VECTOR_ELEN_BF_16, RVVMF2BF, 8, LMUL_F2, 32)
--- 150,212 ----
  #endif
  
  TUPLE_ENTRY (RVVM1x8QI, true, RVVM1QI, 8, LMUL_1, 8)
! TUPLE_ENTRY (RVVMF2x8QI, true, RVVMF2QI, 8, LMUL_F2, 16)
! TUPLE_ENTRY (RVVMF4x8QI, true, RVVMF4QI, 8, LMUL_F4, 32)
! TUPLE_ENTRY (RVVMF8x8QI, TARGET_VECTOR_ELEN_64, RVVMF8QI, 8, LMUL_F8, 64)
  TUPLE_ENTRY (RVVM1x7QI, true, RVVM1QI, 7, LMUL_1, 8)
! TUPLE_ENTRY (RVVMF2x7QI, true, RVVMF2QI, 7, LMUL_F2, 16)
! TUPLE_ENTRY (RVVMF4x7QI, true, RVVMF4QI, 7, LMUL_F4, 32)
! TUPLE_ENTRY (RVVMF8x7QI, TARGET_VECTOR_ELEN_64, RVVMF8QI, 7, LMUL_F8, 64)
  TUPLE_ENTRY (RVVM1x6QI, true, RVVM1QI, 6, LMUL_1, 8)
! TUPLE_ENTRY (RVVMF2x6QI, true, RVVMF2QI, 6, LMUL_F2, 16)
! TUPLE_ENTRY (RVVMF4x6QI, true, RVVMF4QI, 6, LMUL_F4, 32)
! TUPLE_ENTRY (RVVMF8x6QI, TARGET_VECTOR_ELEN_64, RVVMF8QI, 6, LMUL_F8, 64)
  TUPLE_ENTRY (RVVM1x5QI, true, RVVM1QI, 5, LMUL_1, 8)
! TUPLE_ENTRY (RVVMF2x5QI, true, RVVMF2QI, 5, LMUL_F2, 16)
! TUPLE_ENTRY (RVVMF4x5QI, true, RVVMF4QI, 5, LMUL_F4, 32)
! TUPLE_ENTRY (RVVMF8x5QI, TARGET_VECTOR_ELEN_64, RVVMF8QI, 5, LMUL_F8, 64)
  TUPLE_ENTRY (RVVM2x4QI, true, RVVM2QI, 4, LMUL_2, 4)
  TUPLE_ENTRY (RVVM1x4QI, true, RVVM1QI, 4, LMUL_1, 8)
! TUPLE_ENTRY (RVVMF2x4QI, true, RVVMF2QI, 4, LMUL_F2, 16)
! TUPLE_ENTRY (RVVMF4x4QI, true, RVVMF4QI, 4, LMUL_F4, 32)
! TUPLE_ENTRY (RVVMF8x4QI, TARGET_VECTOR_ELEN_64, RVVMF8QI, 4, LMUL_F8, 64)
  TUPLE_ENTRY (RVVM2x3QI, true, RVVM2QI, 3, LMUL_2, 4)
  TUPLE_ENTRY (RVVM1x3QI, true, RVVM1QI, 3, LMUL_1, 8)
! TUPLE_ENTRY (RVVMF2x3QI, true, RVVMF2QI, 3, LMUL_F2, 16)
! TUPLE_ENTRY (RVVMF4x3QI, true, RVVMF4QI, 3, LMUL_F4, 32)
! TUPLE_ENTRY (RVVMF8x3QI, TARGET_VECTOR_ELEN_64, RVVMF8QI, 3, LMUL_F8, 64)
  TUPLE_ENTRY (RVVM4x2QI, true, RVVM4QI, 2, LMUL_4, 2)
  TUPLE_ENTRY (RVVM2x2QI, true, RVVM2QI, 2, LMUL_2, 4)
  TUPLE_ENTRY (RVVM1x2QI, true, RVVM1QI, 2, LMUL_1, 8)
! TUPLE_ENTRY (RVVMF2x2QI, true, RVVMF2QI, 2, LMUL_F2, 16)
! TUPLE_ENTRY (RVVMF4x2QI, true, RVVMF4QI, 2, LMUL_F4, 32)
! TUPLE_ENTRY (RVVMF8x2QI, TARGET_VECTOR_ELEN_64, RVVMF8QI, 2, LMUL_F8, 64)
  
  TUPLE_ENTRY (RVVM1x8HI, true, RVVM1HI, 8, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x8HI, true, RVVMF2HI, 8, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x8HI, TARGET_VECTOR_ELEN_64, RVVMF4HI, 8, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM1x7HI, true, RVVM1HI, 7, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x7HI, true, RVVMF2HI, 7, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x7HI, TARGET_VECTOR_ELEN_64, RVVMF4HI, 7, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM1x6HI, true, RVVM1HI, 6, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x6HI, true, RVVMF2HI, 6, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x6HI, TARGET_VECTOR_ELEN_64, RVVMF4HI, 6, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM1x5HI, true, RVVM1HI, 5, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x5HI, true, RVVMF2HI, 5, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x5HI, TARGET_VECTOR_ELEN_64, RVVMF4HI, 5, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM2x4HI, true, RVVM2HI, 4, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x4HI, true, RVVM1HI, 4, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x4HI, true, RVVMF2HI, 4, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x4HI, TARGET_VECTOR_ELEN_64, RVVMF4HI, 4, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM2x3HI, true, RVVM2HI, 3, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x3HI, true, RVVM1HI, 3, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x3HI, true, RVVMF2HI, 3, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x3HI, TARGET_VECTOR_ELEN_64, RVVMF4HI, 3, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM4x2HI, true, RVVM4HI, 2, LMUL_4, 4)
  TUPLE_ENTRY (RVVM2x2HI, true, RVVM2HI, 2, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x2HI, true, RVVM1HI, 2, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x2HI, true, RVVMF2HI, 2, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x2HI, TARGET_VECTOR_ELEN_64, RVVMF4HI, 2, LMUL_F4, 64)
  
  TUPLE_ENTRY (RVVM1x8BF, TARGET_VECTOR_ELEN_BF_16, RVVM1BF, 8, LMUL_1, 16)
  TUPLE_ENTRY (RVVMF2x8BF, TARGET_VECTOR_ELEN_BF_16, RVVMF2BF, 8, LMUL_F2, 32)
*************** TUPLE_ENTRY (RVVMF2x2BF, TARGET_VECTOR_E
*** 235,302 ****
  TUPLE_ENTRY (RVVMF4x2BF, TARGET_VECTOR_ELEN_BF_16 && TARGET_MIN_VLEN > 32, RVVMF4BF, 2, LMUL_F4, 64)
  
  TUPLE_ENTRY (RVVM1x8HF, TARGET_VECTOR_ELEN_FP_16, RVVM1HF, 8, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x8HF, TARGET_VECTOR_ELEN_FP_16 && !TARGET_XTHEADVECTOR, RVVMF2HF, 8, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x8HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF4HF, 8, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM1x7HF, TARGET_VECTOR_ELEN_FP_16, RVVM1HF, 7, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x7HF, TARGET_VECTOR_ELEN_FP_16 && !TARGET_XTHEADVECTOR, RVVMF2HF, 7, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x7HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF4HF, 7, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM1x6HF, TARGET_VECTOR_ELEN_FP_16, RVVM1HF, 6, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x6HF, TARGET_VECTOR_ELEN_FP_16 && !TARGET_XTHEADVECTOR, RVVMF2HF, 6, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x6HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF4HF, 6, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM1x5HF, TARGET_VECTOR_ELEN_FP_16, RVVM1HF, 5, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x5HF, TARGET_VECTOR_ELEN_FP_16 && !TARGET_XTHEADVECTOR, RVVMF2HF, 5, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x5HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF4HF, 5, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM2x4HF, TARGET_VECTOR_ELEN_FP_16, RVVM2HF, 4, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x4HF, TARGET_VECTOR_ELEN_FP_16, RVVM1HF, 4, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x4HF, TARGET_VECTOR_ELEN_FP_16 && !TARGET_XTHEADVECTOR, RVVMF2HF, 4, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x4HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF4HF, 4, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM2x3HF, TARGET_VECTOR_ELEN_FP_16, RVVM2HF, 3, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x3HF, TARGET_VECTOR_ELEN_FP_16, RVVM1HF, 3, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x3HF, TARGET_VECTOR_ELEN_FP_16 && !TARGET_XTHEADVECTOR, RVVMF2HF, 3, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x3HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF4HF, 3, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM4x2HF, TARGET_VECTOR_ELEN_FP_16, RVVM4HF, 2, LMUL_4, 4)
  TUPLE_ENTRY (RVVM2x2HF, TARGET_VECTOR_ELEN_FP_16, RVVM2HF, 2, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x2HF, TARGET_VECTOR_ELEN_FP_16, RVVM1HF, 2, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x2HF, TARGET_VECTOR_ELEN_FP_16 && !TARGET_XTHEADVECTOR, RVVMF2HF, 2, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x2HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF4HF, 2, LMUL_F4, 64)
  
  TUPLE_ENTRY (RVVM1x8SI, true, RVVM1SI, 8, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x8SI, (TARGET_VECTOR_ELEN_64) && !TARGET_XTHEADVECTOR, RVVMF2SI, 8, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM1x7SI, true, RVVM1SI, 7, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x7SI, (TARGET_VECTOR_ELEN_64) && !TARGET_XTHEADVECTOR, RVVMF2SI, 7, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM1x6SI, true, RVVM1SI, 6, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x6SI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF2SI, 6, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM1x5SI, true, RVVM1SI, 5, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x5SI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF2SI, 5, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM2x4SI, true, RVVM2SI, 4, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x4SI, true, RVVM1SI, 4, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x4SI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF2SI, 4, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM2x3SI, true, RVVM2SI, 3, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x3SI, true, RVVM1SI, 3, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x3SI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF2SI, 3, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM4x2SI, true, RVVM4SI, 2, LMUL_4, 4)
  TUPLE_ENTRY (RVVM2x2SI, true, RVVM2SI, 2, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x2SI, true, RVVM1SI, 2, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x2SI, TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF2SI, 2, LMUL_F2, 32)
  
  TUPLE_ENTRY (RVVM1x8SF, TARGET_VECTOR_ELEN_FP_32, RVVM1SF, 8, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x8SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF2SF, 8, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM1x7SF, TARGET_VECTOR_ELEN_FP_32, RVVM1SF, 7, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x7SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF2SF, 7, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM1x6SF, TARGET_VECTOR_ELEN_FP_32, RVVM1SF, 6, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x6SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF2SF, 6, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM1x5SF, TARGET_VECTOR_ELEN_FP_32, RVVM1SF, 5, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x5SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF2SF, 5, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM2x4SF, TARGET_VECTOR_ELEN_FP_32, RVVM2SF, 4, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x4SF, TARGET_VECTOR_ELEN_FP_32, RVVM1SF, 4, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x4SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF2SF, 4, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM2x3SF, TARGET_VECTOR_ELEN_FP_32, RVVM2SF, 3, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x3SF, TARGET_VECTOR_ELEN_FP_32, RVVM1SF, 3, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x3SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF2SF, 3, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM4x2SF, TARGET_VECTOR_ELEN_FP_32, RVVM4SF, 2, LMUL_4, 4)
  TUPLE_ENTRY (RVVM2x2SF, TARGET_VECTOR_ELEN_FP_32, RVVM2SF, 2, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x2SF, TARGET_VECTOR_ELEN_FP_32, RVVM1SF, 2, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x2SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64 && !TARGET_XTHEADVECTOR, RVVMF2SF, 2, LMUL_F2, 32)
  
  TUPLE_ENTRY (RVVM1x8DI, TARGET_VECTOR_ELEN_64, RVVM1DI, 8, LMUL_1, 16)
  TUPLE_ENTRY (RVVM1x7DI, TARGET_VECTOR_ELEN_64, RVVM1DI, 7, LMUL_1, 16)
--- 235,302 ----
  TUPLE_ENTRY (RVVMF4x2BF, TARGET_VECTOR_ELEN_BF_16 && TARGET_MIN_VLEN > 32, RVVMF4BF, 2, LMUL_F4, 64)
  
  TUPLE_ENTRY (RVVM1x8HF, TARGET_VECTOR_ELEN_FP_16, RVVM1HF, 8, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x8HF, TARGET_VECTOR_ELEN_FP_16, RVVMF2HF, 8, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x8HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64, RVVMF4HF, 8, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM1x7HF, TARGET_VECTOR_ELEN_FP_16, RVVM1HF, 7, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x7HF, TARGET_VECTOR_ELEN_FP_16, RVVMF2HF, 7, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x7HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64, RVVMF4HF, 7, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM1x6HF, TARGET_VECTOR_ELEN_FP_16, RVVM1HF, 6, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x6HF, TARGET_VECTOR_ELEN_FP_16, RVVMF2HF, 6, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x6HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64, RVVMF4HF, 6, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM1x5HF, TARGET_VECTOR_ELEN_FP_16, RVVM1HF, 5, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x5HF, TARGET_VECTOR_ELEN_FP_16, RVVMF2HF, 5, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x5HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64, RVVMF4HF, 5, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM2x4HF, TARGET_VECTOR_ELEN_FP_16, RVVM2HF, 4, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x4HF, TARGET_VECTOR_ELEN_FP_16, RVVM1HF, 4, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x4HF, TARGET_VECTOR_ELEN_FP_16, RVVMF2HF, 4, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x4HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64, RVVMF4HF, 4, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM2x3HF, TARGET_VECTOR_ELEN_FP_16, RVVM2HF, 3, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x3HF, TARGET_VECTOR_ELEN_FP_16, RVVM1HF, 3, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x3HF, TARGET_VECTOR_ELEN_FP_16, RVVMF2HF, 3, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x3HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64, RVVMF4HF, 3, LMUL_F4, 64)
  TUPLE_ENTRY (RVVM4x2HF, TARGET_VECTOR_ELEN_FP_16, RVVM4HF, 2, LMUL_4, 4)
  TUPLE_ENTRY (RVVM2x2HF, TARGET_VECTOR_ELEN_FP_16, RVVM2HF, 2, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x2HF, TARGET_VECTOR_ELEN_FP_16, RVVM1HF, 2, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x2HF, TARGET_VECTOR_ELEN_FP_16, RVVMF2HF, 2, LMUL_F2, 32)
! TUPLE_ENTRY (RVVMF4x2HF, TARGET_VECTOR_ELEN_FP_16 && TARGET_VECTOR_ELEN_64, RVVMF4HF, 2, LMUL_F4, 64)
  
  TUPLE_ENTRY (RVVM1x8SI, true, RVVM1SI, 8, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x8SI, (TARGET_VECTOR_ELEN_64), RVVMF2SI, 8, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM1x7SI, true, RVVM1SI, 7, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x7SI, (TARGET_VECTOR_ELEN_64), RVVMF2SI, 7, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM1x6SI, true, RVVM1SI, 6, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x6SI, TARGET_VECTOR_ELEN_64, RVVMF2SI, 6, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM1x5SI, true, RVVM1SI, 5, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x5SI, TARGET_VECTOR_ELEN_64, RVVMF2SI, 5, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM2x4SI, true, RVVM2SI, 4, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x4SI, true, RVVM1SI, 4, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x4SI, TARGET_VECTOR_ELEN_64, RVVMF2SI, 4, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM2x3SI, true, RVVM2SI, 3, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x3SI, true, RVVM1SI, 3, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x3SI, TARGET_VECTOR_ELEN_64, RVVMF2SI, 3, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM4x2SI, true, RVVM4SI, 2, LMUL_4, 4)
  TUPLE_ENTRY (RVVM2x2SI, true, RVVM2SI, 2, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x2SI, true, RVVM1SI, 2, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x2SI, TARGET_VECTOR_ELEN_64, RVVMF2SI, 2, LMUL_F2, 32)
  
  TUPLE_ENTRY (RVVM1x8SF, TARGET_VECTOR_ELEN_FP_32, RVVM1SF, 8, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x8SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64, RVVMF2SF, 8, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM1x7SF, TARGET_VECTOR_ELEN_FP_32, RVVM1SF, 7, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x7SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64, RVVMF2SF, 7, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM1x6SF, TARGET_VECTOR_ELEN_FP_32, RVVM1SF, 6, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x6SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64, RVVMF2SF, 6, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM1x5SF, TARGET_VECTOR_ELEN_FP_32, RVVM1SF, 5, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x5SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64, RVVMF2SF, 5, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM2x4SF, TARGET_VECTOR_ELEN_FP_32, RVVM2SF, 4, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x4SF, TARGET_VECTOR_ELEN_FP_32, RVVM1SF, 4, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x4SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64, RVVMF2SF, 4, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM2x3SF, TARGET_VECTOR_ELEN_FP_32, RVVM2SF, 3, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x3SF, TARGET_VECTOR_ELEN_FP_32, RVVM1SF, 3, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x3SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64, RVVMF2SF, 3, LMUL_F2, 32)
  TUPLE_ENTRY (RVVM4x2SF, TARGET_VECTOR_ELEN_FP_32, RVVM4SF, 2, LMUL_4, 4)
  TUPLE_ENTRY (RVVM2x2SF, TARGET_VECTOR_ELEN_FP_32, RVVM2SF, 2, LMUL_2, 8)
  TUPLE_ENTRY (RVVM1x2SF, TARGET_VECTOR_ELEN_FP_32, RVVM1SF, 2, LMUL_1, 16)
! TUPLE_ENTRY (RVVMF2x2SF, TARGET_VECTOR_ELEN_FP_32 && TARGET_VECTOR_ELEN_64, RVVMF2SF, 2, LMUL_F2, 32)
  
  TUPLE_ENTRY (RVVM1x8DI, TARGET_VECTOR_ELEN_64, RVVM1DI, 8, LMUL_1, 16)
  TUPLE_ENTRY (RVVM1x7DI, TARGET_VECTOR_ELEN_64, RVVM1DI, 7, LMUL_1, 16)
diff -Nrcpad gcc-16-20260118/gcc/config/riscv/riscv-vsetvl.cc gcc-16-20260125/gcc/config/riscv/riscv-vsetvl.cc
*** gcc-16-20260118/gcc/config/riscv/riscv-vsetvl.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/riscv/riscv-vsetvl.cc	Sun Jan 25 22:32:07 2026
*************** public:
*** 2422,2428 ****
    {
      /* Initialization of RTL_SSA.  */
      calculate_dominance_info (CDI_DOMINATORS);
!     loop_optimizer_init (LOOPS_NORMAL);
      /* Create FAKE edges for infinite loops.  */
      connect_infinite_loops_to_exit ();
      df_analyze ();
--- 2422,2428 ----
    {
      /* Initialization of RTL_SSA.  */
      calculate_dominance_info (CDI_DOMINATORS);
!     loop_optimizer_init (AVOID_CFG_MODIFICATIONS);
      /* Create FAKE edges for infinite loops.  */
      connect_infinite_loops_to_exit ();
      df_analyze ();
diff -Nrcpad gcc-16-20260118/gcc/config/riscv/riscv.cc gcc-16-20260125/gcc/config/riscv/riscv.cc
*** gcc-16-20260118/gcc/config/riscv/riscv.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/riscv/riscv.cc	Sun Jan 25 22:32:07 2026
*************** riscv_expand_mult_with_const_int (machin
*** 3607,3613 ****
    return false;
  }
  
! /* Analyze src and emit const_poly_int mov sequence. 
  
     Essentially we want to generate (set (dest) (src)), where SRC is
     a poly_int.  We may need TMP as a scratch register.  We assume TMP
--- 3607,3613 ----
    return false;
  }
  
! /* Analyze src and emit const_poly_int mov sequence.
  
     Essentially we want to generate (set (dest) (src)), where SRC is
     a poly_int.  We may need TMP as a scratch register.  We assume TMP
*************** riscv_legitimize_poly_move (machine_mode
*** 3691,3697 ****
        gcc_assert (set);
        gcc_assert (SET_SRC (set) == tmp);
        gcc_assert (SET_DEST (set) == dest);
!  
        /* Now back up one real insn and see if it sets TMP, if so adjust
  	 it so that it sets DEST.  */
        rtx_insn *insn2 = prev_nonnote_nondebug_insn (insn);
--- 3691,3697 ----
        gcc_assert (set);
        gcc_assert (SET_SRC (set) == tmp);
        gcc_assert (SET_DEST (set) == dest);
! 
        /* Now back up one real insn and see if it sets TMP, if so adjust
  	 it so that it sets DEST.  */
        rtx_insn *insn2 = prev_nonnote_nondebug_insn (insn);
*************** riscv_legitimize_poly_move (machine_mode
*** 3702,3708 ****
  	  /* Turn the prior insn into a NOP.  But don't delete.  */
  	  SET_SRC (set) = SET_DEST (set);
  	}
!  
      }
  
    HOST_WIDE_INT constant = offset - factor;
--- 3702,3708 ----
  	  /* Turn the prior insn into a NOP.  But don't delete.  */
  	  SET_SRC (set) = SET_DEST (set);
  	}
! 
      }
  
    HOST_WIDE_INT constant = offset - factor;
*************** riscv_vector_required_min_vlen (const_tr
*** 7246,7251 ****
--- 7246,7265 ----
    return element_bitsize;
  }
  
+ static bool
+ riscv_vector_fractional_lmul_p (const_tree type)
+ {
+   machine_mode mode = TYPE_MODE (type);
+   if (VECTOR_MODE_P (mode))
+     {
+       enum vlmul_type vlmul = get_vlmul (mode);
+       if (vlmul == LMUL_F2 || vlmul == LMUL_F4 || vlmul == LMUL_F8)
+        return true;
+     }
+ 
+   return false;
+ }
+ 
  static void
  riscv_validate_vector_type (const_tree type, const char *hint)
  {
*************** riscv_validate_vector_type (const_tree t
*** 7311,7316 ****
--- 7325,7338 ----
  	hint, type, required_min_vlen, TARGET_MIN_VLEN);
        return;
      }
+ 
+   if (riscv_vector_fractional_lmul_p (type)
+       && TARGET_XTHEADVECTOR)
+     {
+       error_at (input_location, "%s %qT requires the V ISA extension",
+ 		hint, type);
+       return;
+     }
  }
  
  /* Return true if a function with type FNTYPE returns its value in
*************** riscv_emit_mode_set (int entity, int mod
*** 13793,13799 ****
    switch (entity)
      {
      case RISCV_VXRM:
!       if (mode != VXRM_MODE_NONE && mode != prev_mode)
  	emit_insn (gen_vxrmsi (gen_int_mode (mode, SImode)));
        break;
      case RISCV_FRM:
--- 13815,13823 ----
    switch (entity)
      {
      case RISCV_VXRM:
!       if (mode != VXRM_MODE_NONE
! 	  && mode != VXRM_MODE_CLOBBER
! 	  && mode != prev_mode)
  	emit_insn (gen_vxrmsi (gen_int_mode (mode, SImode)));
        break;
      case RISCV_FRM:
diff -Nrcpad gcc-16-20260118/gcc/config/riscv/vector.md gcc-16-20260125/gcc/config/riscv/vector.md
*** gcc-16-20260118/gcc/config/riscv/vector.md	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/riscv/vector.md	Sun Jan 25 22:32:07 2026
***************
*** 1003,1009 ****
  
  ;; Defines rounding mode of an fixed-point operation.
  
! (define_attr "vxrm_mode" "rnu,rne,rdn,rod,none"
    (cond [(eq_attr "type" "vaalu,vsmul,vsshift,vnclip")
  	 (cond
  	   [(match_test "INTVAL (operands[9]) == riscv_vector::VXRM_RNU")
--- 1003,1009 ----
  
  ;; Defines rounding mode of an fixed-point operation.
  
! (define_attr "vxrm_mode" "rnu,rne,rdn,rod,clobber,none"
    (cond [(eq_attr "type" "vaalu,vsmul,vsshift,vnclip")
  	 (cond
  	   [(match_test "INTVAL (operands[9]) == riscv_vector::VXRM_RNU")
***************
*** 1017,1023 ****
  
  	    (match_test "INTVAL (operands[9]) == riscv_vector::VXRM_ROD")
  	    (const_string "rod")]
! 	   (const_string "none"))]
          (const_string "none")))
  
  ;; Defines rounding mode of an floating-point operation.
--- 1017,1025 ----
  
  	    (match_test "INTVAL (operands[9]) == riscv_vector::VXRM_ROD")
  	    (const_string "rod")]
! 	   (const_string "none"))
! 	 (match_test "CALL_P (insn)")
! 	 (const_string "clobber")]
          (const_string "none")))
  
  ;; Defines rounding mode of an floating-point operation.
***************
*** 2744,2750 ****
  	   (match_operand:<VINDEX_OCT_TRUNC> 2 "register_operand" "  vr")
  	   (match_operand:VEEWEXT8 3 "register_operand"  "  vr")] ORDER))]
    "TARGET_VECTOR"
!   "vs<order>xei<quad_trunc_sew>.v\t%3,(%z1),%2%p0"
    [(set_attr "type" "vst<order>x")
     (set_attr "mode" "<MODE>")])
  
--- 2746,2752 ----
  	   (match_operand:<VINDEX_OCT_TRUNC> 2 "register_operand" "  vr")
  	   (match_operand:VEEWEXT8 3 "register_operand"  "  vr")] ORDER))]
    "TARGET_VECTOR"
!   "vs<order>xei<oct_trunc_sew>.v\t%3,(%z1),%2%p0"
    [(set_attr "type" "vst<order>x")
     (set_attr "mode" "<MODE>")])
  
diff -Nrcpad gcc-16-20260118/gcc/config/rs6000/476.opt gcc-16-20260125/gcc/config/rs6000/476.opt
*** gcc-16-20260118/gcc/config/rs6000/476.opt	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/rs6000/476.opt	Sun Jan 25 22:32:07 2026
***************
*** 20,24 ****
  ; <http://www.gnu.org/licenses/>.
  
  mpreserve-link-stack
! Target Var(rs6000_link_stack) Init(-1) Save
  Preserve the PowerPC 476's link stack by matching up a blr with the bcl/bl insns used for GOT accesses.
--- 20,24 ----
  ; <http://www.gnu.org/licenses/>.
  
  mpreserve-link-stack
! Target Undocumented Var(rs6000_link_stack) Init(-1) Save
  Preserve the PowerPC 476's link stack by matching up a blr with the bcl/bl insns used for GOT accesses.
diff -Nrcpad gcc-16-20260118/gcc/config/rs6000/aix64.opt.urls gcc-16-20260125/gcc/config/rs6000/aix64.opt.urls
*** gcc-16-20260118/gcc/config/rs6000/aix64.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/rs6000/aix64.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/RS_002f6000-and-PowerPC-Op
*** 15,21 ****
  ; skipping UrlSuffix for 'pthread' due to multiple URLs:
  ;   duplicate: 'gcc/Link-Options.html#index-pthread-1'
  ;   duplicate: 'gcc/Preprocessor-Options.html#index-pthread'
- ;   duplicate: 'gcc/Solaris-2-Options.html#index-pthread-2'
  
  m64
  UrlSuffix(gcc/RS_002f6000-and-PowerPC-Options.html#index-m64-1)
--- 15,20 ----
diff -Nrcpad gcc-16-20260118/gcc/config/rs6000/linux64.opt.urls gcc-16-20260125/gcc/config/rs6000/linux64.opt.urls
*** gcc-16-20260118/gcc/config/rs6000/linux64.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/rs6000/linux64.opt.urls	Sun Jan 25 22:32:07 2026
***************
*** 1,5 ****
--- 1,8 ----
  ; Autogenerated by regenerate-opt-urls.py from gcc/config/rs6000/linux64.opt and generated HTML
  
+ mprofile-kernel
+ UrlSuffix(gcc/RS_002f6000-and-PowerPC-Options.html#index-mprofile-kernel)
+ 
  mcmodel=
  UrlSuffix(gcc/RS_002f6000-and-PowerPC-Options.html#index-mcmodel_003d-5)
  
diff -Nrcpad gcc-16-20260118/gcc/config/rs6000/rs6000.opt.urls gcc-16-20260125/gcc/config/rs6000/rs6000.opt.urls
*** gcc-16-20260118/gcc/config/rs6000/rs6000.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/rs6000/rs6000.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/RS_002f6000-and-PowerPC-Op
*** 154,159 ****
--- 154,162 ----
  mlongcall
  UrlSuffix(gcc/RS_002f6000-and-PowerPC-Options.html#index-mlongcall)
  
+ mwarn-altivec-long
+ UrlSuffix(gcc/RS_002f6000-and-PowerPC-Options.html#index-mwarn-altivec-long)
+ 
  ; skipping UrlSuffix for 'mlra' due to finding no URLs
  
  msched-costly-dep=
*************** UrlSuffix(gcc/RS_002f6000-and-PowerPC-Op
*** 221,223 ****
--- 224,235 ----
  mprivileged
  UrlSuffix(gcc/RS_002f6000-and-PowerPC-Options.html#index-mprivileged)
  
+ msplat-word-constant
+ UrlSuffix(gcc/RS_002f6000-and-PowerPC-Options.html#index-msplat-word-constant)
+ 
+ msplat-float-constant
+ UrlSuffix(gcc/RS_002f6000-and-PowerPC-Options.html#index-msplat-float-constant)
+ 
+ mieee128-constant
+ UrlSuffix(gcc/RS_002f6000-and-PowerPC-Options.html#index-mieee128-constant)
+ 
diff -Nrcpad gcc-16-20260118/gcc/config/rs6000/sysv4.opt.urls gcc-16-20260125/gcc/config/rs6000/sysv4.opt.urls
*** gcc-16-20260118/gcc/config/rs6000/sysv4.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/rs6000/sysv4.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/RS_002f6000-and-PowerPC-Op
*** 38,43 ****
--- 38,46 ----
  meabi
  UrlSuffix(gcc/RS_002f6000-and-PowerPC-Options.html#index-meabi)
  
+ mbit-word
+ UrlSuffix(gcc/RS_002f6000-and-PowerPC-Options.html#index-mbit-word)
+ 
  mregnames
  UrlSuffix(gcc/RS_002f6000-and-PowerPC-Options.html#index-mregnames)
  
diff -Nrcpad gcc-16-20260118/gcc/config/rtems.opt.urls gcc-16-20260125/gcc/config/rtems.opt.urls
*** gcc-16-20260118/gcc/config/rtems.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/rtems.opt.urls	Sun Jan 25 22:32:07 2026
***************
*** 3,7 ****
  ; skipping UrlSuffix for 'pthread' due to multiple URLs:
  ;   duplicate: 'gcc/Link-Options.html#index-pthread-1'
  ;   duplicate: 'gcc/Preprocessor-Options.html#index-pthread'
- ;   duplicate: 'gcc/Solaris-2-Options.html#index-pthread-2'
  
--- 3,6 ----
diff -Nrcpad gcc-16-20260118/gcc/config/s390/vector.md gcc-16-20260125/gcc/config/s390/vector.md
*** gcc-16-20260118/gcc/config/s390/vector.md	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/s390/vector.md	Sun Jan 25 22:32:07 2026
***************
*** 2365,2371 ****
    [(set (match_operand:VI_HW_T              0 "register_operand" "=v")
  	(gtu:VI_HW_T (match_operand:VI_HW_T 1 "register_operand"  "v")
  		     (match_operand:VI_HW_T 2 "register_operand"  "v")))]
!   "TARGET_VX"
    "#"
    "&& can_create_pseudo_p ()"
    [(set (match_dup 3)
--- 2365,2371 ----
    [(set (match_operand:VI_HW_T              0 "register_operand" "=v")
  	(gtu:VI_HW_T (match_operand:VI_HW_T 1 "register_operand"  "v")
  		     (match_operand:VI_HW_T 2 "register_operand"  "v")))]
!   "TARGET_VX && !TARGET_VXE3"
    "#"
    "&& can_create_pseudo_p ()"
    [(set (match_dup 3)
diff -Nrcpad gcc-16-20260118/gcc/config/sh/sh.opt.urls gcc-16-20260125/gcc/config/sh/sh.opt.urls
*** gcc-16-20260118/gcc/config/sh/sh.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/sh/sh.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/SH-Options.html#index-m2a-
*** 18,23 ****
--- 18,26 ----
  m2a-single-only
  UrlSuffix(gcc/SH-Options.html#index-m2a-single-only)
  
+ m2e
+ UrlSuffix(gcc/SH-Options.html#index-m2e)
+ 
  m3
  UrlSuffix(gcc/SH-Options.html#index-m3)
  
*************** UrlSuffix(gcc/SH-Options.html#index-m4-3
*** 51,56 ****
--- 54,62 ----
  m4-340
  UrlSuffix(gcc/SH-Options.html#index-m4-340)
  
+ m4-400
+ UrlSuffix(gcc/SH-Options.html#index-m4-400)
+ 
  m4-500
  UrlSuffix(gcc/SH-Options.html#index-m4-500)
  
*************** mbigtable
*** 103,109 ****
  UrlSuffix(gcc/SH-Options.html#index-mbigtable)
  
  mbitops
! UrlSuffix(gcc/SH-Options.html#index-mbitops)
  
  ; skipping UrlSuffix for 'mbranch-cost=' due to finding no URLs
  
--- 109,115 ----
  UrlSuffix(gcc/SH-Options.html#index-mbigtable)
  
  mbitops
! UrlSuffix(gcc/SH-Options.html#index-mbitops-1)
  
  ; skipping UrlSuffix for 'mbranch-cost=' due to finding no URLs
  
diff -Nrcpad gcc-16-20260118/gcc/config/sol2.h gcc-16-20260125/gcc/config/sol2.h
*** gcc-16-20260118/gcc/config/sol2.h	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/sol2.h	Sun Jan 25 22:32:07 2026
*************** along with GCC; see the file COPYING3.
*** 81,90 ****
  #define INTPTR_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "int")
  #define UINTPTR_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "unsigned int")
  
- #undef CPP_SUBTARGET_SPEC
- #define CPP_SUBTARGET_SPEC "\
- %{pthreads|pthread:-D_REENTRANT -D_PTHREADS}"
- 
  /* Names to predefine in the preprocessor for this target machine.  */
  #define TARGET_SUB_OS_CPP_BUILTINS()
  #define TARGET_OS_CPP_BUILTINS()			\
--- 81,86 ----
diff -Nrcpad gcc-16-20260118/gcc/config/sol2.opt gcc-16-20260125/gcc/config/sol2.opt
*** gcc-16-20260118/gcc/config/sol2.opt	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/sol2.opt	Sun Jan 25 22:32:07 2026
*************** Target
*** 40,49 ****
  Pass -z text to linker.
  
  pthread
! Driver
  
  pthreads
! Driver
  
  rdynamic
  Driver
--- 40,49 ----
  Pass -z text to linker.
  
  pthread
! Ignore
  
  pthreads
! Ignore
  
  rdynamic
  Driver
diff -Nrcpad gcc-16-20260118/gcc/config/sol2.opt.urls gcc-16-20260125/gcc/config/sol2.opt.urls
*** gcc-16-20260118/gcc/config/sol2.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/config/sol2.opt.urls	Sun Jan 25 22:32:07 2026
*************** UrlSuffix(gcc/Solaris-2-Options.html#ind
*** 15,24 ****
  ; skipping UrlSuffix for 'pthread' due to multiple URLs:
  ;   duplicate: 'gcc/Link-Options.html#index-pthread-1'
  ;   duplicate: 'gcc/Preprocessor-Options.html#index-pthread'
- ;   duplicate: 'gcc/Solaris-2-Options.html#index-pthread-2'
- 
- pthreads
- UrlSuffix(gcc/Solaris-2-Options.html#index-pthreads)
  
  rdynamic
  UrlSuffix(gcc/Link-Options.html#index-rdynamic)
--- 15,20 ----
diff -Nrcpad gcc-16-20260118/gcc/config.gcc gcc-16-20260125/gcc/config.gcc
*** gcc-16-20260118/gcc/config.gcc	Sun Jan 18 22:32:06 2026
--- gcc-16-20260125/gcc/config.gcc	Sun Jan 25 22:32:06 2026
*************** case ${target} in
*** 292,297 ****
--- 292,306 ----
      fi;;
  esac
  
+ case ${target} in
+   s390-*)
+     if test "x$enable_obsolete" != xyes; then
+       echo "*** Configuration ${target} is deprecated and will be removed." >&2
+       echo "*** Specify --enable-obsolete to build it anyway." >&2
+       exit 1
+     fi;;
+ esac
+ 
  # Unsupported targets list.  Do not put an entry in this list unless
  # it would otherwise be caught by a more permissive pattern.  The list
  # should be in alphabetical order.
diff -Nrcpad gcc-16-20260118/gcc/cp/ChangeLog gcc-16-20260125/gcc/cp/ChangeLog
*** gcc-16-20260118/gcc/cp/ChangeLog	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/cp/ChangeLog	Sun Jan 25 22:32:07 2026
***************
*** 1,3 ****
--- 1,181 ----
+ 2026-01-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123737
+ 	* parser.cc (cp_parser_expression): Don't handle CPP_EMBED just
+ 	as the last byte in it if expression has or might have overloaded
+ 	type.  In that case call build_x_compound_expr for each byte
+ 	in CPP_EMBED separately.
+ 
+ 2026-01-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123667
+ 	* semantics.cc (finish_decltype_type): Allow a structured binding
+ 	for ptds.saved to have DECL_HAS_VALUE_EXPR_P cleared, if it is
+ 	not within current_function_decl, but in that case assert that
+ 	lookup_decomp_type succeeded.
+ 
+ 2026-01-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123684
+ 	* name-lookup.cc (handle_namespace_attrs): Only handle visibility and
+ 	abi_tag attributes in the gnu namespace and deprecated attribute in
+ 	the standard or gnu namespaces.
+ 
+ 2026-01-23  Marek Polacek  <polacek@redhat.com>
+ 
+ 	* tree.cc (handle_annotation_attribute): Use build_stub_type.
+ 
+ 2026-01-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123597
+ 	* parser.cc (substitute_in_tree_walker, substitute_in_tree): Don't
+ 	consider BIND_EXPRs with !BIND_EXPR_VARS redundant if
+ 	processing_template_decl.
+ 
+ 2026-01-22  Marek Polacek  <polacek@redhat.com>
+ 
+ 	* reflect.cc (class_members_of): Update a comment to mention
+ 	finish_member_declaration.
+ 
+ 2026-01-22  Marek Polacek  <polacek@redhat.com>
+ 	    Jason Merrill  <jason@redhat.com>
+ 
+ 	* reflect.cc (type_linkage_name): Rename to...
+ 	(reflection_type_linkage_name): ...this.
+ 	(eval_has_internal_linkage): Call reflection_type_linkage_name instead
+ 	of type_linkage_name.
+ 	(eval_has_module_linkage): Likewise.
+ 	(eval_has_external_linkage): Likewise.
+ 	(eval_has_c_language_linkage): Likewise.
+ 	(eval_has_linkage): Likewise.
+ 
+ 2026-01-22  Marek Polacek  <polacek@redhat.com>
+ 
+ 	* class.cc (user_provided_p): Return false for a deleted
+ 	namespace-scope function.
+ 	* reflect.cc (eval_is_user_provided): Don't check
+ 	DECL_NAMESPACE_SCOPE_P or DECL_DELETED_FN.
+ 
+ 2026-01-21  Marek Polacek  <polacek@redhat.com>
+ 
+ 	* cp-tree.h (maybe_get_first_fn): Declare.
+ 	* reflect.cc (maybe_get_reflection_fndecl): Remove.
+ 	(eval_is_function): Call maybe_get_first_fn instead of
+ 	maybe_get_reflection_fndecl.
+ 	(eval_is_function_template): Likewise.
+ 	(eval_is_class_member): Likewise.
+ 	(eval_is_expected_access): Likewise.
+ 	(eval_is_virtual): Likewise.
+ 	(eval_is_pure_virtual): Likewise.
+ 	(eval_is_override): Likewise.
+ 	(eval_is_namespace_member): Likewise.
+ 	(eval_is_static_member): Likewise.
+ 	(eval_is_deleted): Likewise.
+ 	(eval_is_defaulted): Likewise.
+ 	(eval_is_user_provided): Likewise.
+ 	(eval_is_user_declared): Likewise.
+ 	(eval_is_explicit): Likewise.
+ 	(eval_has_internal_linkage): Likewise.
+ 	(eval_has_module_linkage): Likewise.
+ 	(eval_has_external_linkage): Likewise.
+ 	(eval_has_c_language_linkage): Likewise.
+ 	(eval_has_linkage): Likewise.
+ 	(eval_is_operator_function): Likewise.
+ 	(eval_is_destructor): Likewise.
+ 	(eval_is_conversion_function_template): Likewise.
+ 	(eval_is_operator_function_template): Likewise.
+ 	(eval_is_constructor_template): Likewise.
+ 	(eval_operator_of): Likewise.
+ 	(eval_is_noexcept): Likewise.
+ 	(eval_has_parent): Likewise.
+ 	(eval_parent_of): Likewise.
+ 	(eval_parameters_of): Likewise.
+ 	(eval_has_identifier): Likewise.
+ 	(eval_identifier_of): Likewise.
+ 	(eval_is_final): Likewise.
+ 	(eval_is_accessible): Likewise.
+ 	(compare_reflections): Likewise.
+ 	(reflection_mangle_prefix): Likewise.
+ 	* tree.cc (maybe_get_fns): Use NULL_TREE instead of NULL.
+ 	(maybe_get_first_fn): New.
+ 
+ 2026-01-21  Marek Polacek  <polacek@redhat.com>
+ 
+ 	* mangle.cc (is_std_substitution): Return false for any _DECL except
+ 	TYPE_DECL and DECL_CLASS_TEMPLATE_P.  Verify that we don't return false
+ 	for something that used to yield true.  Use NULL_TREE instead of NULL.
+ 
+ 2026-01-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123692
+ 	* class.cc (build_base_path): Don't call resolves_to_fixed_type_p if
+ 	uneval.
+ 
+ 2026-01-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123677
+ 	* constexpr.cc (cxx_eval_store_expression): Only clear
+ 	CONSTRUCTOR_ELTS (*valp) if *valp is CONSTRUCTOR.
+ 
+ 2026-01-20  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/123601
+ 	* tree.cc (build_min_non_dep_op_overload): Relax
+ 	COMPARISON_CLASS_P assert to accept SPACESHIP_EXPR too.
+ 
+ 2026-01-20  Marek Polacek  <polacek@redhat.com>
+ 
+ 	* reflect.cc (get_range_elts): Add comment for TARGET_EXPR stripping.
+ 	(get_vector_of_info_elts): Likewise.
+ 
+ 2026-01-20  Marek Polacek  <polacek@redhat.com>
+ 
+ 	* decl2.cc (min_vis_expr_r): For _DECLs with no linkage refer to the
+ 	linkage of the containing entity that does have a name with linkage.
+ 
+ 2026-01-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* metafns.gperf: Add "" as second operand of 2 static_asserts.
+ 	* metafns.h: Regenerate.
+ 
+ 2026-01-18  Marek Polacek  <polacek@redhat.com>
+ 
+ 	* reflect.cc (get_reflection): Adjust the error message for the
+ 	is_capture_proxy check.
+ 
+ 2026-01-18  Marek Polacek  <polacek@redhat.com>
+ 
+ 	* cp-tree.h (direct_base_parent): Rename to...
+ 	(direct_base_derived): ...this.
+ 	* decl2.cc (min_vis_expr_r): Call direct_base_derived instead of
+ 	direct_base_parent.
+ 	* pt.cc (iterative_hash_template_arg): Likewise.
+ 	* reflect.cc (direct_base_parent_binfo): Rename to...
+ 	(direct_base_derived_binfo): ...this.
+ 	(direct_base_parent): Rename to...
+ 	(direct_base_derived): ...this.
+ 	(eval_is_expected_access): Call direct_base_derived_binfo instead
+ 	of direct_base_parent_binfo.
+ 	(eval_source_location_of): Call direct_base_derived instead of
+ 	direct_base_parent.
+ 	(eval_parent_of): Likewise.
+ 	(eval_offset_of): Likewise.
+ 	(eval_display_string_of): Likewise.
+ 	(eval_annotations_of): Call direct_base_derived_binfo instead
+ 	of direct_base_parent_binfo.
+ 	(eval_is_accessible): Call direct_base_derived instead of
+ 	direct_base_parent.
+ 
+ 2026-01-18  Marek Polacek  <polacek@redhat.com>
+ 
+ 	* reflect.cc (check_splice_expr): Use context_for_name_lookup.
+ 
+ 2026-01-18  Simon Martin  <simon@nasilyan.com>
+ 
+ 	PR c++/122391
+ 	* tree.cc (decl_linkage): Return lk_none for TYPE_DECLs with
+ 	erroneous type.
+ 
  2026-01-17  Nathaniel Shead  <nathanieloshead@gmail.com>
  
  	PR c++/123627
diff -Nrcpad gcc-16-20260118/gcc/cp/class.cc gcc-16-20260125/gcc/cp/class.cc
*** gcc-16-20260118/gcc/cp/class.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/cp/class.cc	Sun Jan 25 22:32:07 2026
*************** build_base_path (enum tree_code code,
*** 347,353 ****
  		 || processing_template_decl
  		 || in_template_context);
  
!   fixed_type_p = resolves_to_fixed_type_p (expr, &nonnull);
  
    /* Do we need to look in the vtable for the real offset?  */
    virtual_access = (v_binfo && fixed_type_p <= 0);
--- 347,356 ----
  		 || processing_template_decl
  		 || in_template_context);
  
!   if (!uneval)
!     fixed_type_p = resolves_to_fixed_type_p (expr, &nonnull);
!   else
!     fixed_type_p = 0;
  
    /* Do we need to look in the vtable for the real offset?  */
    virtual_access = (v_binfo && fixed_type_p <= 0);
*************** in_class_defaulted_default_constructor (
*** 5723,5729 ****
  }
  
  /* Returns true iff FN is a user-provided function, i.e. user-declared
!    and not defaulted at its first declaration.  */
  
  bool
  user_provided_p (tree fn)
--- 5726,5732 ----
  }
  
  /* Returns true iff FN is a user-provided function, i.e. user-declared
!    and not explicitly defaulted or deleted on its first declaration.  */
  
  bool
  user_provided_p (tree fn)
*************** user_provided_p (tree fn)
*** 5731,5737 ****
    fn = STRIP_TEMPLATE (fn);
    return (!DECL_ARTIFICIAL (fn)
  	  && !(DECL_INITIALIZED_IN_CLASS_P (fn)
! 	       && (DECL_DEFAULTED_FN (fn) || DECL_DELETED_FN (fn))));
  }
  
  /* Returns true iff class T has a user-provided constructor.  */
--- 5734,5745 ----
    fn = STRIP_TEMPLATE (fn);
    return (!DECL_ARTIFICIAL (fn)
  	  && !(DECL_INITIALIZED_IN_CLASS_P (fn)
! 	       && (DECL_DEFAULTED_FN (fn) || DECL_DELETED_FN (fn)))
! 	  /* At namespace scope,
! 	      void f () = delete;
! 	    is *not* user-provided (and any function deleted after its first
! 	    declaration is ill-formed).  */
! 	  && !(DECL_NAMESPACE_SCOPE_P (fn) && DECL_DELETED_FN (fn)));
  }
  
  /* Returns true iff class T has a user-provided constructor.  */
diff -Nrcpad gcc-16-20260118/gcc/cp/constexpr.cc gcc-16-20260125/gcc/cp/constexpr.cc
*** gcc-16-20260118/gcc/cp/constexpr.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/cp/constexpr.cc	Sun Jan 25 22:32:07 2026
*************** cxx_eval_store_expression (const constex
*** 8197,8203 ****
      {
        if (AGGREGATE_TYPE_P (type))
  	{
! 	  if (*valp)
  	    CONSTRUCTOR_ELTS (*valp) = nullptr;
  	  else
  	    *valp = build_constructor (type, nullptr);
--- 8197,8203 ----
      {
        if (AGGREGATE_TYPE_P (type))
  	{
! 	  if (*valp && TREE_CODE (*valp) == CONSTRUCTOR)
  	    CONSTRUCTOR_ELTS (*valp) = nullptr;
  	  else
  	    *valp = build_constructor (type, nullptr);
diff -Nrcpad gcc-16-20260118/gcc/cp/cp-tree.h gcc-16-20260125/gcc/cp/cp-tree.h
*** gcc-16-20260118/gcc/cp/cp-tree.h	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/cp/cp-tree.h	Sun Jan 25 22:32:07 2026
*************** extern tree call_expr_dependent_name		(t
*** 8638,8643 ****
--- 8638,8644 ----
  extern tree maybe_get_fns			(tree) ATTRIBUTE_PURE;
  extern tree get_fns				(tree) ATTRIBUTE_PURE;
  extern tree get_first_fn			(tree) ATTRIBUTE_PURE;
+ extern tree maybe_get_first_fn			(tree) ATTRIBUTE_PURE;
  extern tree ovl_scope				(tree);
  extern const char *cxx_printable_name		(tree, int);
  extern const char *cxx_printable_name_translate	(tree, int);
diff -Nrcpad gcc-16-20260118/gcc/cp/decl2.cc gcc-16-20260125/gcc/cp/decl2.cc
*** gcc-16-20260118/gcc/cp/decl2.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/cp/decl2.cc	Sun Jan 25 22:32:07 2026
*************** min_vis_expr_r (tree *tp, int *walk_subt
*** 3114,3121 ****
  	  break;
  	}
      addressable:
        if (decl_linkage (t) == lk_none)
! 	tpvis = type_visibility (TREE_TYPE (t));
        /* Decls that have had their visibility constrained will report
  	 as external linkage, but we still want to transitively constrain
  	 if we refer to them, so just check TREE_PUBLIC instead.  */
--- 3114,3123 ----
  	  break;
  	}
      addressable:
+       /* For _DECLs with no linkage refer to the linkage of the containing
+ 	 entity that does have a name with linkage.  */
        if (decl_linkage (t) == lk_none)
! 	tpvis = expr_visibility (DECL_CONTEXT (t));
        /* Decls that have had their visibility constrained will report
  	 as external linkage, but we still want to transitively constrain
  	 if we refer to them, so just check TREE_PUBLIC instead.  */
*************** min_vis_expr_r (tree *tp, int *walk_subt
*** 3170,3182 ****
  	      *walk_subtrees = 0;
  	      break;
  	    }
! 	  if ((VAR_P (r) && decl_function_context (r))
! 	      || TREE_CODE (r) == PARM_DECL)
  	    {
! 	      /* Block scope variables are local to the TU.  */
! 	      tpvis = VISIBILITY_ANON;
! 	      *walk_subtrees = 0;
! 	      break;
  	    }
  	  break;
  	}
--- 3172,3181 ----
  	      *walk_subtrees = 0;
  	      break;
  	    }
! 	  if (VAR_P (r) || TREE_CODE (r) == PARM_DECL)
  	    {
! 	      t = r;
! 	      goto addressable;
  	    }
  	  break;
  	}
diff -Nrcpad gcc-16-20260118/gcc/cp/mangle.cc gcc-16-20260125/gcc/cp/mangle.cc
*** gcc-16-20260118/gcc/cp/mangle.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/cp/mangle.cc	Sun Jan 25 22:32:07 2026
*************** add_substitution (tree node)
*** 478,484 ****
  }
  
  /* Helper function for find_substitution.  Returns nonzero if NODE,
!    which may be a decl or a CLASS_TYPE, is a template-id with template
     name of substitution_index[INDEX] in the ::std namespace, with
     global module attachment.  */
  
--- 478,484 ----
  }
  
  /* Helper function for find_substitution.  Returns nonzero if NODE,
!    which may be a class or a class template, is a template-id with template
     name of substitution_index[INDEX] in the ::std namespace, with
     global module attachment.  */
  
*************** static bool
*** 486,495 ****
  is_std_substitution (const tree node,
  		     const substitution_identifier_index_t index)
  {
!   tree type = NULL;
!   tree decl = NULL;
  
!   if (DECL_P (node))
      {
        type = TREE_TYPE (node);
        decl = node;
--- 486,513 ----
  is_std_substitution (const tree node,
  		     const substitution_identifier_index_t index)
  {
!   tree type = NULL_TREE;
!   tree decl = NULL_TREE;
  
!   auto std_substitution_p = [&] (tree decl, tree type)
!     {
!       if (!DECL_NAMESPACE_STD_P (CP_DECL_CONTEXT (decl)))
! 	return false;
! 
!       if (!(TYPE_LANG_SPECIFIC (type) && TYPE_TEMPLATE_INFO (type)))
! 	return false;
! 
!       tree tmpl = TYPE_TI_TEMPLATE (type);
!       if (DECL_NAME (tmpl) != subst_identifiers[index])
! 	return false;
! 
!       if (modules_p () && get_originating_module (tmpl, true) >= 0)
! 	return false;
! 
!       return true;
!     };
! 
!   if (TREE_CODE (node) == TYPE_DECL || DECL_CLASS_TEMPLATE_P (node))
      {
        type = TREE_TYPE (node);
        decl = node;
*************** is_std_substitution (const tree node,
*** 500,522 ****
        decl = TYPE_NAME (node);
      }
    else
!     /* These are not the droids you're looking for.  */
!     return false;
! 
!   if (!DECL_NAMESPACE_STD_P (CP_DECL_CONTEXT (decl)))
!     return false;
! 
!   if (!(TYPE_LANG_SPECIFIC (type) && TYPE_TEMPLATE_INFO (type)))
!     return false;
! 
!   tree tmpl = TYPE_TI_TEMPLATE (type);
!   if (DECL_NAME (tmpl) != subst_identifiers[index])
!     return false;
! 
!   if (modules_p () && get_originating_module (tmpl, true) >= 0)
!     return false;
  
!   return true;
  }
  
  /* Return the ABI tags (the TREE_VALUE of the "abi_tag" attribute entry) for T,
--- 518,534 ----
        decl = TYPE_NAME (node);
      }
    else
!     {
!       /* We used to accept all _DECL nodes in this function but now we
! 	 only accept classes or class templates.  Verify that we don't
! 	 return false for something that used to yield true.  */
!       gcc_checking_assert (!DECL_P (node)
! 			   || !std_substitution_p (node, TREE_TYPE (node)));
!       /* These are not the droids you're looking for.  */
!       return false;
!     }
  
!   return std_substitution_p (decl, type);
  }
  
  /* Return the ABI tags (the TREE_VALUE of the "abi_tag" attribute entry) for T,
diff -Nrcpad gcc-16-20260118/gcc/cp/metafns.gperf gcc-16-20260125/gcc/cp/metafns.gperf
*** gcc-16-20260118/gcc/cp/metafns.gperf	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/cp/metafns.gperf	Sun Jan 25 22:32:07 2026
*************** enum metafn_kind_ret {
*** 279,285 ****
    METAFN_KIND_RET_ACCESS_CONTEXT,
    METAFN_KIND_RET_TEMPLATE_PARM,
  };
! static_assert (METAFN_KIND_RET_TEMPLATE_PARM <= (int) METAFN_KIND_MASK);
  
  /* Possible argument types of metafunctions.  */
  enum metafn_kind_arg {
--- 279,285 ----
    METAFN_KIND_RET_ACCESS_CONTEXT,
    METAFN_KIND_RET_TEMPLATE_PARM,
  };
! static_assert (METAFN_KIND_RET_TEMPLATE_PARM <= (int) METAFN_KIND_MASK, "");
  
  /* Possible argument types of metafunctions.  */
  enum metafn_kind_arg {
*************** enum metafn_kind_arg {
*** 298,304 ****
    METAFN_KIND_ARG_TEMPLATE_PARM, /* Some other template parameter.  */
    METAFN_KIND_ARG_TEMPLATE_PARM_REF /* Reference to template parameter.  */
  };
! static_assert (METAFN_KIND_ARG_TEMPLATE_PARM_REF <= (int) METAFN_KIND_MASK);
  
  /* Possible sets of 0-3 arguments of metafunctions.  */
  enum metafn_kind_args {
--- 298,305 ----
    METAFN_KIND_ARG_TEMPLATE_PARM, /* Some other template parameter.  */
    METAFN_KIND_ARG_TEMPLATE_PARM_REF /* Reference to template parameter.  */
  };
! static_assert (METAFN_KIND_ARG_TEMPLATE_PARM_REF <= (int) METAFN_KIND_MASK,
! 	       "");
  
  /* Possible sets of 0-3 arguments of metafunctions.  */
  enum metafn_kind_args {
diff -Nrcpad gcc-16-20260118/gcc/cp/metafns.h gcc-16-20260125/gcc/cp/metafns.h
*** gcc-16-20260118/gcc/cp/metafns.h	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/cp/metafns.h	Sun Jan 25 22:32:07 2026
*************** enum metafn_kind_ret {
*** 307,313 ****
    METAFN_KIND_RET_ACCESS_CONTEXT,
    METAFN_KIND_RET_TEMPLATE_PARM,
  };
! static_assert (METAFN_KIND_RET_TEMPLATE_PARM <= (int) METAFN_KIND_MASK);
  
  /* Possible argument types of metafunctions.  */
  enum metafn_kind_arg {
--- 307,313 ----
    METAFN_KIND_RET_ACCESS_CONTEXT,
    METAFN_KIND_RET_TEMPLATE_PARM,
  };
! static_assert (METAFN_KIND_RET_TEMPLATE_PARM <= (int) METAFN_KIND_MASK, "");
  
  /* Possible argument types of metafunctions.  */
  enum metafn_kind_arg {
*************** enum metafn_kind_arg {
*** 326,332 ****
    METAFN_KIND_ARG_TEMPLATE_PARM, /* Some other template parameter.  */
    METAFN_KIND_ARG_TEMPLATE_PARM_REF /* Reference to template parameter.  */
  };
! static_assert (METAFN_KIND_ARG_TEMPLATE_PARM_REF <= (int) METAFN_KIND_MASK);
  
  /* Possible sets of 0-3 arguments of metafunctions.  */
  enum metafn_kind_args {
--- 326,333 ----
    METAFN_KIND_ARG_TEMPLATE_PARM, /* Some other template parameter.  */
    METAFN_KIND_ARG_TEMPLATE_PARM_REF /* Reference to template parameter.  */
  };
! static_assert (METAFN_KIND_ARG_TEMPLATE_PARM_REF <= (int) METAFN_KIND_MASK,
! 	       "");
  
  /* Possible sets of 0-3 arguments of metafunctions.  */
  enum metafn_kind_args {
*************** enum metafn_kind {
*** 467,473 ****
      = (METAFN_KIND_ARGS_INPUT_RANGE << METAFN_KIND_SHIFT)
        | METAFN_KIND_RET_U8STRING_VIEW
  };
! #line 443 "metafns.gperf"
  struct metafn_info
  {
    /* A name within "std::meta::" (or "std::meta::access_context::").  */
--- 468,474 ----
      = (METAFN_KIND_ARGS_INPUT_RANGE << METAFN_KIND_SHIFT)
        | METAFN_KIND_RET_U8STRING_VIEW
  };
! #line 444 "metafns.gperf"
  struct metafn_info
  {
    /* A name within "std::meta::" (or "std::meta::access_context::").  */
*************** metafn_lookup::find (const char *str, si
*** 591,1063 ****
  #endif
    static const struct metafn_info wordlist[] =
      {
! #line 643 "metafns.gperf"
        {"rank", METAFN_RANK, METAFN_KIND_SIZE_T_TINFO,},
! #line 573 "metafns.gperf"
        {"is_void_type", METAFN_IS_VOID_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 578 "metafns.gperf"
        {"is_pointer_type", METAFN_IS_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 484 "metafns.gperf"
        {"is_volatile", METAFN_IS_VOLATILE, METAFN_KIND_BOOL_INFO,},
! #line 530 "metafns.gperf"
        {"is_value", METAFN_IS_VALUE, METAFN_KIND_BOOL_INFO,},
! #line 537 "metafns.gperf"
        {"is_base", METAFN_IS_BASE, METAFN_KIND_BOOL_INFO,},
! #line 498 "metafns.gperf"
        {"is_variable", METAFN_IS_VARIABLE, METAFN_KIND_BOOL_INFO,},
! #line 649 "metafns.gperf"
        {"is_nothrow_convertible_type", METAFN_IS_NOTHROW_CONVERTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 628 "metafns.gperf"
        {"is_nothrow_constructible_type", METAFN_IS_NOTHROW_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,},
! #line 654 "metafns.gperf"
        {"is_nothrow_invocable_type", METAFN_IS_NOTHROW_INVOCABLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,},
! #line 633 "metafns.gperf"
        {"is_nothrow_copy_assignable_type", METAFN_IS_NOTHROW_COPY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 655 "metafns.gperf"
        {"is_nothrow_invocable_r_type", METAFN_IS_NOTHROW_INVOCABLE_R_TYPE, METAFN_KIND_BOOL_TINFO_TINFO_REFLECTION_RANGET,},
! #line 630 "metafns.gperf"
        {"is_nothrow_copy_constructible_type", METAFN_IS_NOTHROW_COPY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 646 "metafns.gperf"
        {"is_base_of_type", METAFN_IS_BASE_OF_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 634 "metafns.gperf"
        {"is_nothrow_move_assignable_type", METAFN_IS_NOTHROW_MOVE_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 631 "metafns.gperf"
        {"is_nothrow_move_constructible_type", METAFN_IS_NOTHROW_MOVE_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 522 "metafns.gperf"
        {"is_variable_template", METAFN_IS_VARIABLE_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 681 "metafns.gperf"
        {"variant_size", METAFN_VARIANT_SIZE, METAFN_KIND_SIZE_T_TINFO,},
! #line 574 "metafns.gperf"
        {"is_null_pointer_type", METAFN_IS_NULL_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 499 "metafns.gperf"
        {"is_type", METAFN_IS_TYPE, METAFN_KIND_BOOL_INFO,},
! #line 467 "metafns.gperf"
        {"is_public", METAFN_IS_PUBLIC, METAFN_KIND_BOOL_INFO,},
! #line 479 "metafns.gperf"
        {"is_noexcept", METAFN_IS_NOEXCEPT, METAFN_KIND_BOOL_INFO,},
! #line 562 "metafns.gperf"
        {"extract", METAFN_EXTRACT, METAFN_KIND_TEMPLATE_PARM_INFO,},
! #line 682 "metafns.gperf"
        {"variant_alternative", METAFN_VARIANT_ALTERNATIVE, METAFN_KIND_INFO_SIZE_T_TINFO,},
! #line 600 "metafns.gperf"
        {"is_polymorphic_type", METAFN_IS_POLYMORPHIC_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 469 "metafns.gperf"
        {"is_private", METAFN_IS_PRIVATE, METAFN_KIND_BOOL_INFO,},
! #line 503 "metafns.gperf"
        {"is_function", METAFN_IS_FUNCTION, METAFN_KIND_BOOL_INFO,},
! #line 500 "metafns.gperf"
        {"is_namespace", METAFN_IS_NAMESPACE, METAFN_KIND_BOOL_INFO,},
! #line 651 "metafns.gperf"
        {"is_pointer_interconvertible_base_of_type", METAFN_IS_POINTER_INTERCONVERTIBLE_BASE_OF_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 607 "metafns.gperf"
        {"is_bounded_array_type", METAFN_IS_BOUNDED_ARRAY_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 483 "metafns.gperf"
        {"is_const", METAFN_IS_CONST, METAFN_KIND_BOOL_INFO,},
! #line 529 "metafns.gperf"
        {"is_concept", METAFN_IS_CONCEPT, METAFN_KIND_BOOL_INFO,},
! #line 645 "metafns.gperf"
        {"is_same_type", METAFN_IS_SAME_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 553 "metafns.gperf"
        {"bases_of", METAFN_BASES_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,},
! #line 492 "metafns.gperf"
        {"has_module_linkage", METAFN_HAS_MODULE_LINKAGE, METAFN_KIND_BOOL_INFO,},
! #line 521 "metafns.gperf"
        {"is_function_template", METAFN_IS_FUNCTION_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 632 "metafns.gperf"
        {"is_nothrow_assignable_type", METAFN_IS_NOTHROW_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 504 "metafns.gperf"
        {"is_conversion_function", METAFN_IS_CONVERSION_FUNCTION, METAFN_KIND_BOOL_INFO,},
! #line 637 "metafns.gperf"
        {"is_nothrow_destructible_type", METAFN_IS_NOTHROW_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 648 "metafns.gperf"
        {"is_convertible_type", METAFN_IS_CONVERTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 638 "metafns.gperf"
        {"is_implicit_lifetime_type", METAFN_IS_IMPLICIT_LIFETIME_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 520 "metafns.gperf"
        {"is_template", METAFN_IS_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 629 "metafns.gperf"
        {"is_nothrow_default_constructible_type", METAFN_IS_NOTHROW_DEFAULT_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 563 "metafns.gperf"
        {"can_substitute", METAFN_CAN_SUBSTITUTE, METAFN_KIND_INFO_INFO_REFLECTION_RANGE,},
! #line 525 "metafns.gperf"
        {"is_conversion_function_template", METAFN_IS_CONVERSION_FUNCTION_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 456 "metafns.gperf"
        {"symbol_of", METAFN_SYMBOL_OF, METAFN_KIND_STRING_VIEW_OPERATORS,},
! #line 612 "metafns.gperf"
        {"is_copy_constructible_type", METAFN_IS_COPY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 610 "metafns.gperf"
        {"is_constructible_type", METAFN_IS_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,},
! #line 490 "metafns.gperf"
        {"has_automatic_storage_duration", METAFN_HAS_AUTOMATIC_STORAGE_DURATION, METAFN_KIND_BOOL_INFO,},
! #line 615 "metafns.gperf"
        {"is_copy_assignable_type", METAFN_IS_COPY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 679 "metafns.gperf"
        {"tuple_size", METAFN_TUPLE_SIZE, METAFN_KIND_SIZE_T_TINFO,},
! #line 501 "metafns.gperf"
        {"is_type_alias", METAFN_IS_TYPE_ALIAS, METAFN_KIND_BOOL_INFO,},
! #line 510 "metafns.gperf"
        {"is_copy_constructor", METAFN_IS_COPY_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,},
! #line 546 "metafns.gperf"
        {"variable_of", METAFN_VARIABLE_OF, METAFN_KIND_INFO_INFO,},
! #line 539 "metafns.gperf"
        {"has_parent", METAFN_HAS_PARENT, METAFN_KIND_BOOL_INFO,},
! #line 587 "metafns.gperf"
        {"is_reflection_type", METAFN_IS_REFLECTION_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 590 "metafns.gperf"
        {"is_fundamental_type", METAFN_IS_FUNDAMENTAL_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 650 "metafns.gperf"
        {"is_layout_compatible_type", METAFN_IS_LAYOUT_COMPATIBLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 561 "metafns.gperf"
        {"bit_size_of", METAFN_BIT_SIZE_OF, METAFN_KIND_SIZE_T_INFO,},
! #line 513 "metafns.gperf"
        {"is_copy_assignment", METAFN_IS_COPY_ASSIGNMENT, METAFN_KIND_BOOL_INFO,},
! #line 686 "metafns.gperf"
        {"current", METAFN_ACCESS_CONTEXT_CURRENT, METAFN_KIND_ACCESS_CONTEXT_VOID,},
! #line 673 "metafns.gperf"
        {"common_type", METAFN_COMMON_TYPE, METAFN_KIND_INFO_REFLECTION_RANGET,},
! #line 528 "metafns.gperf"
        {"is_constructor_template", METAFN_IS_CONSTRUCTOR_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 683 "metafns.gperf"
        {"type_order", METAFN_TYPE_ORDER, METAFN_KIND_STRONG_ORDERING_TINFO_TINFO,},
! #line 674 "metafns.gperf"
        {"common_reference", METAFN_COMMON_REFERENCE, METAFN_KIND_INFO_REFLECTION_RANGET,},
! #line 538 "metafns.gperf"
        {"has_default_member_initializer", METAFN_HAS_DEFAULT_MEMBER_INITIALIZER, METAFN_KIND_BOOL_INFO,},
! #line 680 "metafns.gperf"
        {"tuple_element", METAFN_TUPLE_ELEMENT, METAFN_KIND_INFO_SIZE_T_TINFO,},
! #line 567 "metafns.gperf"
        {"reflect_function", METAFN_REFLECT_FUNCTION, METAFN_KIND_INFO_TEMPLATE_PARM_REF,},
! #line 518 "metafns.gperf"
        {"has_default_argument", METAFN_HAS_DEFAULT_ARGUMENT, METAFN_KIND_BOOL_INFO,},
! #line 613 "metafns.gperf"
        {"is_move_constructible_type", METAFN_IS_MOVE_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 464 "metafns.gperf"
        {"type_of", METAFN_TYPE_OF, METAFN_KIND_INFO_INFO,},
! #line 508 "metafns.gperf"
        {"is_constructor", METAFN_IS_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,},
! #line 618 "metafns.gperf"
        {"is_swappable_type", METAFN_IS_SWAPPABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 636 "metafns.gperf"
        {"is_nothrow_swappable_type", METAFN_IS_NOTHROW_SWAPPABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 588 "metafns.gperf"
        {"is_reference_type", METAFN_IS_REFERENCE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 495 "metafns.gperf"
        {"has_linkage", METAFN_HAS_LINKAGE, METAFN_KIND_BOOL_INFO,},
! #line 635 "metafns.gperf"
        {"is_nothrow_swappable_with_type", METAFN_IS_NOTHROW_SWAPPABLE_WITH_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 594 "metafns.gperf"
        {"is_member_pointer_type", METAFN_IS_MEMBER_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 616 "metafns.gperf"
        {"is_move_assignable_type", METAFN_IS_MOVE_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 519 "metafns.gperf"
        {"has_ellipsis_parameter", METAFN_HAS_ELLIPSIS_PARAMETER, METAFN_KIND_BOOL_INFO,},
! #line 511 "metafns.gperf"
        {"is_move_constructor", METAFN_IS_MOVE_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,},
! #line 545 "metafns.gperf"
        {"parameters_of", METAFN_PARAMETERS_OF, METAFN_KIND_VECTOR_INFO_INFO,},
! #line 559 "metafns.gperf"
        {"size_of", METAFN_SIZE_OF, METAFN_KIND_SIZE_T_INFO,},
! #line 514 "metafns.gperf"
        {"is_move_assignment", METAFN_IS_MOVE_ASSIGNMENT, METAFN_KIND_BOOL_INFO,},
! #line 614 "metafns.gperf"
        {"is_assignable_type", METAFN_IS_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 533 "metafns.gperf"
        {"is_class_member", METAFN_IS_CLASS_MEMBER, METAFN_KIND_BOOL_INFO,},
! #line 597 "metafns.gperf"
        {"is_trivially_copyable_type", METAFN_IS_TRIVIALLY_COPYABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 512 "metafns.gperf"
        {"is_assignment", METAFN_IS_ASSIGNMENT, METAFN_KIND_BOOL_INFO,},
! #line 534 "metafns.gperf"
        {"is_namespace_member", METAFN_IS_NAMESPACE_MEMBER, METAFN_KIND_BOOL_INFO,},
! #line 552 "metafns.gperf"
        {"members_of", METAFN_MEMBERS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,},
! #line 620 "metafns.gperf"
        {"is_trivially_constructible_type", METAFN_IS_TRIVIALLY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,},
! #line 625 "metafns.gperf"
        {"is_trivially_copy_assignable_type", METAFN_IS_TRIVIALLY_COPY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 622 "metafns.gperf"
        {"is_trivially_copy_constructible_type", METAFN_IS_TRIVIALLY_COPY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 644 "metafns.gperf"
        {"extent", METAFN_EXTENT, METAFN_KIND_SIZE_T_TINFO_UNSIGNED,},
! #line 583 "metafns.gperf"
        {"is_enum_type", METAFN_IS_ENUM_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 543 "metafns.gperf"
        {"template_of", METAFN_TEMPLATE_OF, METAFN_KIND_INFO_INFO,},
! #line 523 "metafns.gperf"
        {"is_class_template", METAFN_IS_CLASS_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 507 "metafns.gperf"
        {"is_special_member_function", METAFN_IS_SPECIAL_MEMBER_FUNCTION, METAFN_KIND_BOOL_INFO,},
! #line 468 "metafns.gperf"
        {"is_protected", METAFN_IS_PROTECTED, METAFN_KIND_BOOL_INFO,},
! #line 535 "metafns.gperf"
        {"is_nonstatic_data_member", METAFN_IS_NONSTATIC_DATA_MEMBER, METAFN_KIND_BOOL_INFO,},
! #line 677 "metafns.gperf"
        {"unwrap_reference", METAFN_UNWRAP_REFERENCE, METAFN_KIND_INFO_TINFO,},
! #line 497 "metafns.gperf"
        {"is_enumerable_type", METAFN_IS_ENUMERABLE_TYPE, METAFN_KIND_BOOL_INFO,},
! #line 589 "metafns.gperf"
        {"is_arithmetic_type", METAFN_IS_ARITHMETIC_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 540 "metafns.gperf"
        {"parent_of", METAFN_PARENT_OF, METAFN_KIND_INFO_INFO,},
! #line 471 "metafns.gperf"
        {"is_pure_virtual", METAFN_IS_PURE_VIRTUAL, METAFN_KIND_BOOL_INFO,},
! #line 670 "metafns.gperf"
        {"add_pointer", METAFN_ADD_POINTER, METAFN_KIND_INFO_TINFO,},
! #line 611 "metafns.gperf"
        {"is_default_constructible_type", METAFN_IS_DEFAULT_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 675 "metafns.gperf"
        {"underlying_type", METAFN_UNDERLYING_TYPE, METAFN_KIND_INFO_TINFO,},
! #line 516 "metafns.gperf"
        {"is_function_parameter", METAFN_IS_FUNCTION_PARAMETER, METAFN_KIND_BOOL_INFO,},
! #line 459 "metafns.gperf"
        {"identifier_of", METAFN_IDENTIFIER_OF, METAFN_KIND_STRING_VIEW_INFO,},
! #line 592 "metafns.gperf"
        {"is_scalar_type", METAFN_IS_SCALAR_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 664 "metafns.gperf"
        {"add_rvalue_reference", METAFN_ADD_RVALUE_REFERENCE, METAFN_KIND_INFO_TINFO,},
! #line 485 "metafns.gperf"
        {"is_mutable_member", METAFN_IS_MUTABLE_MEMBER, METAFN_KIND_BOOL_INFO,},
! #line 502 "metafns.gperf"
        {"is_namespace_alias", METAFN_IS_NAMESPACE_ALIAS, METAFN_KIND_BOOL_INFO,},
! #line 626 "metafns.gperf"
        {"is_trivially_move_assignable_type", METAFN_IS_TRIVIALLY_MOVE_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 623 "metafns.gperf"
        {"is_trivially_move_constructible_type", METAFN_IS_TRIVIALLY_MOVE_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 509 "metafns.gperf"
        {"is_default_constructor", METAFN_IS_DEFAULT_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,},
! #line 481 "metafns.gperf"
        {"is_enumerator", METAFN_IS_ENUMERATOR, METAFN_KIND_BOOL_INFO,},
! #line 531 "metafns.gperf"
        {"is_object", METAFN_IS_OBJECT, METAFN_KIND_BOOL_INFO,},
! #line 603 "metafns.gperf"
        {"is_aggregate_type", METAFN_IS_AGGREGATE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 515 "metafns.gperf"
        {"is_destructor", METAFN_IS_DESTRUCTOR, METAFN_KIND_BOOL_INFO,},
! #line 582 "metafns.gperf"
        {"is_member_function_pointer_type", METAFN_IS_MEMBER_FUNCTION_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 591 "metafns.gperf"
        {"is_object_type", METAFN_IS_OBJECT_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 564 "metafns.gperf"
        {"substitute", METAFN_SUBSTITUTE, METAFN_KIND_INFO_INFO_REFLECTION_RANGE,},
! #line 580 "metafns.gperf"
        {"is_rvalue_reference_type", METAFN_IS_RVALUE_REFERENCE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 661 "metafns.gperf"
        {"add_cv", METAFN_ADD_CV, METAFN_KIND_INFO_TINFO,},
! #line 565 "metafns.gperf"
        {"reflect_constant", METAFN_REFLECT_CONSTANT, METAFN_KIND_INFO_TEMPLATE_PARM,},
! #line 624 "metafns.gperf"
        {"is_trivially_assignable_type", METAFN_IS_TRIVIALLY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 470 "metafns.gperf"
        {"is_virtual", METAFN_IS_VIRTUAL, METAFN_KIND_BOOL_INFO,},
! #line 488 "metafns.gperf"
        {"has_static_storage_duration", METAFN_HAS_STATIC_STORAGE_DURATION, METAFN_KIND_BOOL_INFO,},
! #line 663 "metafns.gperf"
        {"add_lvalue_reference", METAFN_ADD_LVALUE_REFERENCE, METAFN_KIND_INFO_TINFO,},
! #line 579 "metafns.gperf"
        {"is_lvalue_reference_type", METAFN_IS_LVALUE_REFERENCE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 557 "metafns.gperf"
        {"enumerators_of", METAFN_ENUMERATORS_OF, METAFN_KIND_VECTOR_INFO_INFO,},
! #line 619 "metafns.gperf"
        {"is_destructible_type", METAFN_IS_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 544 "metafns.gperf"
        {"template_arguments_of", METAFN_TEMPLATE_ARGUMENTS_OF, METAFN_KIND_VECTOR_INFO_INFO,},
! #line 652 "metafns.gperf"
        {"is_invocable_type", METAFN_IS_INVOCABLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,},
! #line 659 "metafns.gperf"
        {"add_const", METAFN_ADD_CONST, METAFN_KIND_INFO_TINFO,},
! #line 524 "metafns.gperf"
        {"is_alias_template", METAFN_IS_ALIAS_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 599 "metafns.gperf"
        {"is_empty_type", METAFN_IS_EMPTY_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 627 "metafns.gperf"
        {"is_trivially_destructible_type", METAFN_IS_TRIVIALLY_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 493 "metafns.gperf"
        {"has_external_linkage", METAFN_HAS_EXTERNAL_LINKAGE, METAFN_KIND_BOOL_INFO,},
! #line 548 "metafns.gperf"
        {"is_accessible", METAFN_IS_ACCESSIBLE, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,},
! #line 653 "metafns.gperf"
        {"is_invocable_r_type", METAFN_IS_INVOCABLE_R_TYPE, METAFN_KIND_BOOL_TINFO_TINFO_REFLECTION_RANGET,},
! #line 647 "metafns.gperf"
        {"is_virtual_base_of_type", METAFN_IS_VIRTUAL_BASE_OF_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 596 "metafns.gperf"
        {"is_volatile_type", METAFN_IS_VOLATILE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 568 "metafns.gperf"
        {"reflect_constant_string", METAFN_REFLECT_CONSTANT_STRING, METAFN_KIND_INFO_INPUT_RANGE,},
! #line 621 "metafns.gperf"
        {"is_trivially_default_constructible_type", METAFN_IS_TRIVIALLY_DEFAULT_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 527 "metafns.gperf"
        {"is_literal_operator_template", METAFN_IS_LITERAL_OPERATOR_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 455 "metafns.gperf"
        {"operator_of", METAFN_OPERATOR_OF, METAFN_KIND_OPERATORS_INFO,},
! #line 605 "metafns.gperf"
        {"is_signed_type", METAFN_IS_SIGNED_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 609 "metafns.gperf"
        {"is_scoped_enum_type", METAFN_IS_SCOPED_ENUM_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 617 "metafns.gperf"
        {"is_swappable_with_type", METAFN_IS_SWAPPABLE_WITH_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 556 "metafns.gperf"
        {"subobjects_of", METAFN_SUBOBJECTS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,},
! #line 558 "metafns.gperf"
        {"offset_of", METAFN_OFFSET_OF, METAFN_KIND_MEMBER_OFFSET_INFO,},
! #line 532 "metafns.gperf"
        {"is_structured_binding", METAFN_IS_STRUCTURED_BINDING, METAFN_KIND_BOOL_INFO,},
! #line 473 "metafns.gperf"
        {"is_final", METAFN_IS_FINAL, METAFN_KIND_BOOL_INFO,},
! #line 506 "metafns.gperf"
        {"is_literal_operator", METAFN_IS_LITERAL_OPERATOR, METAFN_KIND_BOOL_INFO,},
! #line 666 "metafns.gperf"
        {"make_unsigned", METAFN_MAKE_UNSIGNED, METAFN_KIND_INFO_TINFO,},
! #line 462 "metafns.gperf"
        {"u8display_string_of", METAFN_U8DISPLAY_STRING_OF, METAFN_KIND_U8STRING_VIEW_INFO,},
! #line 639 "metafns.gperf"
        {"has_virtual_destructor", METAFN_HAS_VIRTUAL_DESTRUCTOR, METAFN_KIND_BOOL_TINFO,},
! #line 595 "metafns.gperf"
        {"is_const_type", METAFN_IS_CONST_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 478 "metafns.gperf"
        {"is_explicit", METAFN_IS_EXPLICIT, METAFN_KIND_BOOL_INFO,},
! #line 571 "metafns.gperf"
        {"is_data_member_spec", METAFN_IS_DATA_MEMBER_SPEC, METAFN_KIND_BOOL_INFO,},
! #line 496 "metafns.gperf"
        {"is_complete_type", METAFN_IS_COMPLETE_TYPE, METAFN_KIND_BOOL_INFO,},
! #line 482 "metafns.gperf"
        {"is_annotation", METAFN_IS_ANNOTATION, METAFN_KIND_BOOL_INFO,},
! #line 586 "metafns.gperf"
        {"is_function_type", METAFN_IS_FUNCTION_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 547 "metafns.gperf"
        {"return_type_of", METAFN_RETURN_TYPE_OF, METAFN_KIND_INFO_INFO,},
! #line 474 "metafns.gperf"
        {"is_deleted", METAFN_IS_DELETED, METAFN_KIND_BOOL_INFO,},
! #line 466 "metafns.gperf"
        {"constant_of", METAFN_CONSTANT_OF, METAFN_KIND_INFO_INFO,},
! #line 660 "metafns.gperf"
        {"add_volatile", METAFN_ADD_VOLATILE, METAFN_KIND_INFO_TINFO,},
! #line 475 "metafns.gperf"
        {"is_defaulted", METAFN_IS_DEFAULTED, METAFN_KIND_BOOL_INFO,},
! #line 640 "metafns.gperf"
        {"has_unique_object_representations", METAFN_HAS_UNIQUE_OBJECT_REPRESENTATIONS, METAFN_KIND_BOOL_TINFO,},
! #line 581 "metafns.gperf"
        {"is_member_object_pointer_type", METAFN_IS_MEMBER_OBJECT_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 461 "metafns.gperf"
        {"display_string_of", METAFN_DISPLAY_STRING_OF, METAFN_KIND_STRING_VIEW_INFO,},
! #line 517 "metafns.gperf"
        {"is_explicit_object_parameter", METAFN_IS_EXPLICIT_OBJECT_PARAMETER, METAFN_KIND_BOOL_INFO,},
! #line 536 "metafns.gperf"
        {"is_static_member", METAFN_IS_STATIC_MEMBER, METAFN_KIND_BOOL_INFO,},
! #line 465 "metafns.gperf"
        {"object_of", METAFN_OBJECT_OF, METAFN_KIND_INFO_INFO,},
! #line 604 "metafns.gperf"
        {"is_consteval_only_type", METAFN_IS_CONSTEVAL_ONLY_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 472 "metafns.gperf"
        {"is_override", METAFN_IS_OVERRIDE, METAFN_KIND_BOOL_INFO,},
! #line 658 "metafns.gperf"
        {"remove_cv", METAFN_REMOVE_CV, METAFN_KIND_INFO_TINFO,},
! #line 566 "metafns.gperf"
        {"reflect_object", METAFN_REFLECT_OBJECT, METAFN_KIND_INFO_TEMPLATE_PARM_REF,},
! #line 576 "metafns.gperf"
        {"is_floating_point_type", METAFN_IS_FLOATING_POINT_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 458 "metafns.gperf"
        {"has_identifier", METAFN_HAS_IDENTIFIER, METAFN_KIND_BOOL_INFO,},
! #line 662 "metafns.gperf"
        {"remove_reference", METAFN_REMOVE_REFERENCE, METAFN_KIND_INFO_TINFO,},
! #line 550 "metafns.gperf"
        {"has_inaccessible_bases", METAFN_HAS_INACCESSIBLE_BASES, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,},
! #line 494 "metafns.gperf"
        {"has_c_language_linkage", METAFN_HAS_C_LANGUAGE_LINKAGE, METAFN_KIND_BOOL_INFO,},
! #line 551 "metafns.gperf"
        {"has_inaccessible_subobjects", METAFN_HAS_INACCESSIBLE_SUBOBJECTS, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,},
! #line 667 "metafns.gperf"
        {"remove_extent", METAFN_REMOVE_EXTENT, METAFN_KIND_INFO_TINFO,},
! #line 549 "metafns.gperf"
        {"has_inaccessible_nonstatic_data_members", METAFN_HAS_INACCESSIBLE_NONSTATIC_DATA_MEMBERS, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,},
! #line 487 "metafns.gperf"
        {"is_rvalue_reference_qualified", METAFN_IS_RVALUE_REFERENCE_QUALIFIED, METAFN_KIND_BOOL_INFO,},
! #line 642 "metafns.gperf"
        {"reference_converts_from_temporary", METAFN_REFERENCE_CONVERTS_FROM_TEMPORARY, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 585 "metafns.gperf"
        {"is_class_type", METAFN_IS_CLASS_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 477 "metafns.gperf"
        {"is_user_declared", METAFN_IS_USER_DECLARED, METAFN_KIND_BOOL_INFO,},
! #line 570 "metafns.gperf"
        {"data_member_spec", METAFN_DATA_MEMBER_SPEC, METAFN_KIND_INFO_TINFO_DATA_MEMBER_OPTIONS,},
! #line 486 "metafns.gperf"
        {"is_lvalue_reference_qualified", METAFN_IS_LVALUE_REFERENCE_QUALIFIED, METAFN_KIND_BOOL_INFO,},
! #line 489 "metafns.gperf"
        {"has_thread_storage_duration", METAFN_HAS_THREAD_STORAGE_DURATION, METAFN_KIND_BOOL_INFO,},
! #line 480 "metafns.gperf"
        {"is_bit_field", METAFN_IS_BIT_FIELD, METAFN_KIND_BOOL_INFO,},
! #line 671 "metafns.gperf"
        {"remove_cvref", METAFN_REMOVE_CVREF, METAFN_KIND_INFO_TINFO,},
! #line 676 "metafns.gperf"
        {"invoke_result", METAFN_INVOKE_RESULT, METAFN_KIND_INFO_TINFO_REFLECTION_RANGET,},
! #line 542 "metafns.gperf"
        {"has_template_arguments", METAFN_HAS_TEMPLATE_ARGUMENTS, METAFN_KIND_BOOL_INFO,},
! #line 505 "metafns.gperf"
        {"is_operator_function", METAFN_IS_OPERATOR_FUNCTION, METAFN_KIND_BOOL_INFO,},
! #line 669 "metafns.gperf"
        {"remove_pointer", METAFN_REMOVE_POINTER, METAFN_KIND_INFO_TINFO,},
! #line 541 "metafns.gperf"
        {"dealias", METAFN_DEALIAS, METAFN_KIND_INFO_INFO,},
! #line 656 "metafns.gperf"
        {"remove_const", METAFN_REMOVE_CONST, METAFN_KIND_INFO_TINFO,},
! #line 526 "metafns.gperf"
        {"is_operator_function_template", METAFN_IS_OPERATOR_FUNCTION_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 641 "metafns.gperf"
        {"reference_constructs_from_temporary", METAFN_REFERENCE_CONSTRUCTS_FROM_TEMPORARY, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 668 "metafns.gperf"
        {"remove_all_extents", METAFN_REMOVE_ALL_EXTENTS, METAFN_KIND_INFO_TINFO,},
! #line 577 "metafns.gperf"
        {"is_array_type", METAFN_IS_ARRAY_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 491 "metafns.gperf"
        {"has_internal_linkage", METAFN_HAS_INTERNAL_LINKAGE, METAFN_KIND_BOOL_INFO,},
! #line 665 "metafns.gperf"
        {"make_signed", METAFN_MAKE_SIGNED, METAFN_KIND_INFO_TINFO,},
! #line 554 "metafns.gperf"
        {"static_data_members_of", METAFN_STATIC_DATA_MEMBERS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,},
! #line 593 "metafns.gperf"
        {"is_compound_type", METAFN_IS_COMPOUND_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 601 "metafns.gperf"
        {"is_abstract_type", METAFN_IS_ABSTRACT_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 572 "metafns.gperf"
        {"define_aggregate", METAFN_DEFINE_AGGREGATE, METAFN_KIND_INFO_INFO_REFLECTION_RANGE,},
- #line 687 "metafns.gperf"
-       {"_S_exception_cvt_to_utf8", METAFN_EXCEPTION__S_EXCEPTION_CVT_TO_UTF8, METAFN_KIND_U8STRING_VIEW_INPUT_RANGE,},
  #line 688 "metafns.gperf"
        {"_S_exception_cvt_from_utf8", METAFN_EXCEPTION__S_EXCEPTION_CVT_FROM_UTF8, METAFN_KIND_STRING_VIEW_INPUT_RANGE,},
! #line 608 "metafns.gperf"
        {"is_unbounded_array_type", METAFN_IS_UNBOUNDED_ARRAY_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 598 "metafns.gperf"
        {"is_standard_layout_type", METAFN_IS_STANDARD_LAYOUT_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 678 "metafns.gperf"
        {"unwrap_ref_decay", METAFN_UNWRAP_REF_DECAY, METAFN_KIND_INFO_TINFO,},
! #line 569 "metafns.gperf"
        {"reflect_constant_array", METAFN_REFLECT_CONSTANT_ARRAY, METAFN_KIND_INFO_INPUT_RANGE,},
! #line 457 "metafns.gperf"
        {"u8symbol_of", METAFN_U8SYMBOL_OF, METAFN_KIND_U8STRING_VIEW_OPERATORS,},
! #line 575 "metafns.gperf"
        {"is_integral_type", METAFN_IS_INTEGRAL_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 555 "metafns.gperf"
        {"nonstatic_data_members_of", METAFN_NONSTATIC_DATA_MEMBERS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,},
! #line 672 "metafns.gperf"
        {"decay", METAFN_DECAY, METAFN_KIND_INFO_TINFO,},
! #line 602 "metafns.gperf"
        {"is_final_type", METAFN_IS_FINAL_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 657 "metafns.gperf"
        {"remove_volatile", METAFN_REMOVE_VOLATILE, METAFN_KIND_INFO_TINFO,},
! #line 560 "metafns.gperf"
        {"alignment_of", METAFN_ALIGNMENT_OF, METAFN_KIND_SIZE_T_INFO,},
! #line 463 "metafns.gperf"
        {"source_location_of", METAFN_SOURCE_LOCATION_OF, METAFN_KIND_SOURCE_LOCATION_INFO,},
! #line 685 "metafns.gperf"
        {"annotations_of_with_type", METAFN_ANNOTATIONS_OF_WITH_TYPE, METAFN_KIND_VECTOR_INFO_INFO_INFO,},
! #line 460 "metafns.gperf"
        {"u8identifier_of", METAFN_U8IDENTIFIER_OF, METAFN_KIND_U8STRING_VIEW_INFO,},
! #line 684 "metafns.gperf"
        {"annotations_of", METAFN_ANNOTATIONS_OF, METAFN_KIND_VECTOR_INFO_INFO,},
! #line 584 "metafns.gperf"
        {"is_union_type", METAFN_IS_UNION_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 476 "metafns.gperf"
        {"is_user_provided", METAFN_IS_USER_PROVIDED, METAFN_KIND_BOOL_INFO,},
! #line 606 "metafns.gperf"
        {"is_unsigned_type", METAFN_IS_UNSIGNED_TYPE, METAFN_KIND_BOOL_TINFO,}
      };
  #if (defined __GNUC__ && __GNUC__ + (__GNUC_MINOR__ >= 6) > 4) || (defined __clang__ && __clang_major__ >= 3)
--- 592,1064 ----
  #endif
    static const struct metafn_info wordlist[] =
      {
! #line 644 "metafns.gperf"
        {"rank", METAFN_RANK, METAFN_KIND_SIZE_T_TINFO,},
! #line 574 "metafns.gperf"
        {"is_void_type", METAFN_IS_VOID_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 579 "metafns.gperf"
        {"is_pointer_type", METAFN_IS_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 485 "metafns.gperf"
        {"is_volatile", METAFN_IS_VOLATILE, METAFN_KIND_BOOL_INFO,},
! #line 531 "metafns.gperf"
        {"is_value", METAFN_IS_VALUE, METAFN_KIND_BOOL_INFO,},
! #line 538 "metafns.gperf"
        {"is_base", METAFN_IS_BASE, METAFN_KIND_BOOL_INFO,},
! #line 499 "metafns.gperf"
        {"is_variable", METAFN_IS_VARIABLE, METAFN_KIND_BOOL_INFO,},
! #line 650 "metafns.gperf"
        {"is_nothrow_convertible_type", METAFN_IS_NOTHROW_CONVERTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 629 "metafns.gperf"
        {"is_nothrow_constructible_type", METAFN_IS_NOTHROW_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,},
! #line 655 "metafns.gperf"
        {"is_nothrow_invocable_type", METAFN_IS_NOTHROW_INVOCABLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,},
! #line 634 "metafns.gperf"
        {"is_nothrow_copy_assignable_type", METAFN_IS_NOTHROW_COPY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 656 "metafns.gperf"
        {"is_nothrow_invocable_r_type", METAFN_IS_NOTHROW_INVOCABLE_R_TYPE, METAFN_KIND_BOOL_TINFO_TINFO_REFLECTION_RANGET,},
! #line 631 "metafns.gperf"
        {"is_nothrow_copy_constructible_type", METAFN_IS_NOTHROW_COPY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 647 "metafns.gperf"
        {"is_base_of_type", METAFN_IS_BASE_OF_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 635 "metafns.gperf"
        {"is_nothrow_move_assignable_type", METAFN_IS_NOTHROW_MOVE_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 632 "metafns.gperf"
        {"is_nothrow_move_constructible_type", METAFN_IS_NOTHROW_MOVE_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 523 "metafns.gperf"
        {"is_variable_template", METAFN_IS_VARIABLE_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 682 "metafns.gperf"
        {"variant_size", METAFN_VARIANT_SIZE, METAFN_KIND_SIZE_T_TINFO,},
! #line 575 "metafns.gperf"
        {"is_null_pointer_type", METAFN_IS_NULL_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 500 "metafns.gperf"
        {"is_type", METAFN_IS_TYPE, METAFN_KIND_BOOL_INFO,},
! #line 468 "metafns.gperf"
        {"is_public", METAFN_IS_PUBLIC, METAFN_KIND_BOOL_INFO,},
! #line 480 "metafns.gperf"
        {"is_noexcept", METAFN_IS_NOEXCEPT, METAFN_KIND_BOOL_INFO,},
! #line 563 "metafns.gperf"
        {"extract", METAFN_EXTRACT, METAFN_KIND_TEMPLATE_PARM_INFO,},
! #line 683 "metafns.gperf"
        {"variant_alternative", METAFN_VARIANT_ALTERNATIVE, METAFN_KIND_INFO_SIZE_T_TINFO,},
! #line 601 "metafns.gperf"
        {"is_polymorphic_type", METAFN_IS_POLYMORPHIC_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 470 "metafns.gperf"
        {"is_private", METAFN_IS_PRIVATE, METAFN_KIND_BOOL_INFO,},
! #line 504 "metafns.gperf"
        {"is_function", METAFN_IS_FUNCTION, METAFN_KIND_BOOL_INFO,},
! #line 501 "metafns.gperf"
        {"is_namespace", METAFN_IS_NAMESPACE, METAFN_KIND_BOOL_INFO,},
! #line 652 "metafns.gperf"
        {"is_pointer_interconvertible_base_of_type", METAFN_IS_POINTER_INTERCONVERTIBLE_BASE_OF_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 608 "metafns.gperf"
        {"is_bounded_array_type", METAFN_IS_BOUNDED_ARRAY_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 484 "metafns.gperf"
        {"is_const", METAFN_IS_CONST, METAFN_KIND_BOOL_INFO,},
! #line 530 "metafns.gperf"
        {"is_concept", METAFN_IS_CONCEPT, METAFN_KIND_BOOL_INFO,},
! #line 646 "metafns.gperf"
        {"is_same_type", METAFN_IS_SAME_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 554 "metafns.gperf"
        {"bases_of", METAFN_BASES_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,},
! #line 493 "metafns.gperf"
        {"has_module_linkage", METAFN_HAS_MODULE_LINKAGE, METAFN_KIND_BOOL_INFO,},
! #line 522 "metafns.gperf"
        {"is_function_template", METAFN_IS_FUNCTION_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 633 "metafns.gperf"
        {"is_nothrow_assignable_type", METAFN_IS_NOTHROW_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 505 "metafns.gperf"
        {"is_conversion_function", METAFN_IS_CONVERSION_FUNCTION, METAFN_KIND_BOOL_INFO,},
! #line 638 "metafns.gperf"
        {"is_nothrow_destructible_type", METAFN_IS_NOTHROW_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 649 "metafns.gperf"
        {"is_convertible_type", METAFN_IS_CONVERTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 639 "metafns.gperf"
        {"is_implicit_lifetime_type", METAFN_IS_IMPLICIT_LIFETIME_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 521 "metafns.gperf"
        {"is_template", METAFN_IS_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 630 "metafns.gperf"
        {"is_nothrow_default_constructible_type", METAFN_IS_NOTHROW_DEFAULT_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 564 "metafns.gperf"
        {"can_substitute", METAFN_CAN_SUBSTITUTE, METAFN_KIND_INFO_INFO_REFLECTION_RANGE,},
! #line 526 "metafns.gperf"
        {"is_conversion_function_template", METAFN_IS_CONVERSION_FUNCTION_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 457 "metafns.gperf"
        {"symbol_of", METAFN_SYMBOL_OF, METAFN_KIND_STRING_VIEW_OPERATORS,},
! #line 613 "metafns.gperf"
        {"is_copy_constructible_type", METAFN_IS_COPY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 611 "metafns.gperf"
        {"is_constructible_type", METAFN_IS_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,},
! #line 491 "metafns.gperf"
        {"has_automatic_storage_duration", METAFN_HAS_AUTOMATIC_STORAGE_DURATION, METAFN_KIND_BOOL_INFO,},
! #line 616 "metafns.gperf"
        {"is_copy_assignable_type", METAFN_IS_COPY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 680 "metafns.gperf"
        {"tuple_size", METAFN_TUPLE_SIZE, METAFN_KIND_SIZE_T_TINFO,},
! #line 502 "metafns.gperf"
        {"is_type_alias", METAFN_IS_TYPE_ALIAS, METAFN_KIND_BOOL_INFO,},
! #line 511 "metafns.gperf"
        {"is_copy_constructor", METAFN_IS_COPY_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,},
! #line 547 "metafns.gperf"
        {"variable_of", METAFN_VARIABLE_OF, METAFN_KIND_INFO_INFO,},
! #line 540 "metafns.gperf"
        {"has_parent", METAFN_HAS_PARENT, METAFN_KIND_BOOL_INFO,},
! #line 588 "metafns.gperf"
        {"is_reflection_type", METAFN_IS_REFLECTION_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 591 "metafns.gperf"
        {"is_fundamental_type", METAFN_IS_FUNDAMENTAL_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 651 "metafns.gperf"
        {"is_layout_compatible_type", METAFN_IS_LAYOUT_COMPATIBLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 562 "metafns.gperf"
        {"bit_size_of", METAFN_BIT_SIZE_OF, METAFN_KIND_SIZE_T_INFO,},
! #line 514 "metafns.gperf"
        {"is_copy_assignment", METAFN_IS_COPY_ASSIGNMENT, METAFN_KIND_BOOL_INFO,},
! #line 687 "metafns.gperf"
        {"current", METAFN_ACCESS_CONTEXT_CURRENT, METAFN_KIND_ACCESS_CONTEXT_VOID,},
! #line 674 "metafns.gperf"
        {"common_type", METAFN_COMMON_TYPE, METAFN_KIND_INFO_REFLECTION_RANGET,},
! #line 529 "metafns.gperf"
        {"is_constructor_template", METAFN_IS_CONSTRUCTOR_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 684 "metafns.gperf"
        {"type_order", METAFN_TYPE_ORDER, METAFN_KIND_STRONG_ORDERING_TINFO_TINFO,},
! #line 675 "metafns.gperf"
        {"common_reference", METAFN_COMMON_REFERENCE, METAFN_KIND_INFO_REFLECTION_RANGET,},
! #line 539 "metafns.gperf"
        {"has_default_member_initializer", METAFN_HAS_DEFAULT_MEMBER_INITIALIZER, METAFN_KIND_BOOL_INFO,},
! #line 681 "metafns.gperf"
        {"tuple_element", METAFN_TUPLE_ELEMENT, METAFN_KIND_INFO_SIZE_T_TINFO,},
! #line 568 "metafns.gperf"
        {"reflect_function", METAFN_REFLECT_FUNCTION, METAFN_KIND_INFO_TEMPLATE_PARM_REF,},
! #line 519 "metafns.gperf"
        {"has_default_argument", METAFN_HAS_DEFAULT_ARGUMENT, METAFN_KIND_BOOL_INFO,},
! #line 614 "metafns.gperf"
        {"is_move_constructible_type", METAFN_IS_MOVE_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 465 "metafns.gperf"
        {"type_of", METAFN_TYPE_OF, METAFN_KIND_INFO_INFO,},
! #line 509 "metafns.gperf"
        {"is_constructor", METAFN_IS_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,},
! #line 619 "metafns.gperf"
        {"is_swappable_type", METAFN_IS_SWAPPABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 637 "metafns.gperf"
        {"is_nothrow_swappable_type", METAFN_IS_NOTHROW_SWAPPABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 589 "metafns.gperf"
        {"is_reference_type", METAFN_IS_REFERENCE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 496 "metafns.gperf"
        {"has_linkage", METAFN_HAS_LINKAGE, METAFN_KIND_BOOL_INFO,},
! #line 636 "metafns.gperf"
        {"is_nothrow_swappable_with_type", METAFN_IS_NOTHROW_SWAPPABLE_WITH_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 595 "metafns.gperf"
        {"is_member_pointer_type", METAFN_IS_MEMBER_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 617 "metafns.gperf"
        {"is_move_assignable_type", METAFN_IS_MOVE_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 520 "metafns.gperf"
        {"has_ellipsis_parameter", METAFN_HAS_ELLIPSIS_PARAMETER, METAFN_KIND_BOOL_INFO,},
! #line 512 "metafns.gperf"
        {"is_move_constructor", METAFN_IS_MOVE_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,},
! #line 546 "metafns.gperf"
        {"parameters_of", METAFN_PARAMETERS_OF, METAFN_KIND_VECTOR_INFO_INFO,},
! #line 560 "metafns.gperf"
        {"size_of", METAFN_SIZE_OF, METAFN_KIND_SIZE_T_INFO,},
! #line 515 "metafns.gperf"
        {"is_move_assignment", METAFN_IS_MOVE_ASSIGNMENT, METAFN_KIND_BOOL_INFO,},
! #line 615 "metafns.gperf"
        {"is_assignable_type", METAFN_IS_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 534 "metafns.gperf"
        {"is_class_member", METAFN_IS_CLASS_MEMBER, METAFN_KIND_BOOL_INFO,},
! #line 598 "metafns.gperf"
        {"is_trivially_copyable_type", METAFN_IS_TRIVIALLY_COPYABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 513 "metafns.gperf"
        {"is_assignment", METAFN_IS_ASSIGNMENT, METAFN_KIND_BOOL_INFO,},
! #line 535 "metafns.gperf"
        {"is_namespace_member", METAFN_IS_NAMESPACE_MEMBER, METAFN_KIND_BOOL_INFO,},
! #line 553 "metafns.gperf"
        {"members_of", METAFN_MEMBERS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,},
! #line 621 "metafns.gperf"
        {"is_trivially_constructible_type", METAFN_IS_TRIVIALLY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,},
! #line 626 "metafns.gperf"
        {"is_trivially_copy_assignable_type", METAFN_IS_TRIVIALLY_COPY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 623 "metafns.gperf"
        {"is_trivially_copy_constructible_type", METAFN_IS_TRIVIALLY_COPY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 645 "metafns.gperf"
        {"extent", METAFN_EXTENT, METAFN_KIND_SIZE_T_TINFO_UNSIGNED,},
! #line 584 "metafns.gperf"
        {"is_enum_type", METAFN_IS_ENUM_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 544 "metafns.gperf"
        {"template_of", METAFN_TEMPLATE_OF, METAFN_KIND_INFO_INFO,},
! #line 524 "metafns.gperf"
        {"is_class_template", METAFN_IS_CLASS_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 508 "metafns.gperf"
        {"is_special_member_function", METAFN_IS_SPECIAL_MEMBER_FUNCTION, METAFN_KIND_BOOL_INFO,},
! #line 469 "metafns.gperf"
        {"is_protected", METAFN_IS_PROTECTED, METAFN_KIND_BOOL_INFO,},
! #line 536 "metafns.gperf"
        {"is_nonstatic_data_member", METAFN_IS_NONSTATIC_DATA_MEMBER, METAFN_KIND_BOOL_INFO,},
! #line 678 "metafns.gperf"
        {"unwrap_reference", METAFN_UNWRAP_REFERENCE, METAFN_KIND_INFO_TINFO,},
! #line 498 "metafns.gperf"
        {"is_enumerable_type", METAFN_IS_ENUMERABLE_TYPE, METAFN_KIND_BOOL_INFO,},
! #line 590 "metafns.gperf"
        {"is_arithmetic_type", METAFN_IS_ARITHMETIC_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 541 "metafns.gperf"
        {"parent_of", METAFN_PARENT_OF, METAFN_KIND_INFO_INFO,},
! #line 472 "metafns.gperf"
        {"is_pure_virtual", METAFN_IS_PURE_VIRTUAL, METAFN_KIND_BOOL_INFO,},
! #line 671 "metafns.gperf"
        {"add_pointer", METAFN_ADD_POINTER, METAFN_KIND_INFO_TINFO,},
! #line 612 "metafns.gperf"
        {"is_default_constructible_type", METAFN_IS_DEFAULT_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 676 "metafns.gperf"
        {"underlying_type", METAFN_UNDERLYING_TYPE, METAFN_KIND_INFO_TINFO,},
! #line 517 "metafns.gperf"
        {"is_function_parameter", METAFN_IS_FUNCTION_PARAMETER, METAFN_KIND_BOOL_INFO,},
! #line 460 "metafns.gperf"
        {"identifier_of", METAFN_IDENTIFIER_OF, METAFN_KIND_STRING_VIEW_INFO,},
! #line 593 "metafns.gperf"
        {"is_scalar_type", METAFN_IS_SCALAR_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 665 "metafns.gperf"
        {"add_rvalue_reference", METAFN_ADD_RVALUE_REFERENCE, METAFN_KIND_INFO_TINFO,},
! #line 486 "metafns.gperf"
        {"is_mutable_member", METAFN_IS_MUTABLE_MEMBER, METAFN_KIND_BOOL_INFO,},
! #line 503 "metafns.gperf"
        {"is_namespace_alias", METAFN_IS_NAMESPACE_ALIAS, METAFN_KIND_BOOL_INFO,},
! #line 627 "metafns.gperf"
        {"is_trivially_move_assignable_type", METAFN_IS_TRIVIALLY_MOVE_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 624 "metafns.gperf"
        {"is_trivially_move_constructible_type", METAFN_IS_TRIVIALLY_MOVE_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 510 "metafns.gperf"
        {"is_default_constructor", METAFN_IS_DEFAULT_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,},
! #line 482 "metafns.gperf"
        {"is_enumerator", METAFN_IS_ENUMERATOR, METAFN_KIND_BOOL_INFO,},
! #line 532 "metafns.gperf"
        {"is_object", METAFN_IS_OBJECT, METAFN_KIND_BOOL_INFO,},
! #line 604 "metafns.gperf"
        {"is_aggregate_type", METAFN_IS_AGGREGATE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 516 "metafns.gperf"
        {"is_destructor", METAFN_IS_DESTRUCTOR, METAFN_KIND_BOOL_INFO,},
! #line 583 "metafns.gperf"
        {"is_member_function_pointer_type", METAFN_IS_MEMBER_FUNCTION_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 592 "metafns.gperf"
        {"is_object_type", METAFN_IS_OBJECT_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 565 "metafns.gperf"
        {"substitute", METAFN_SUBSTITUTE, METAFN_KIND_INFO_INFO_REFLECTION_RANGE,},
! #line 581 "metafns.gperf"
        {"is_rvalue_reference_type", METAFN_IS_RVALUE_REFERENCE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 662 "metafns.gperf"
        {"add_cv", METAFN_ADD_CV, METAFN_KIND_INFO_TINFO,},
! #line 566 "metafns.gperf"
        {"reflect_constant", METAFN_REFLECT_CONSTANT, METAFN_KIND_INFO_TEMPLATE_PARM,},
! #line 625 "metafns.gperf"
        {"is_trivially_assignable_type", METAFN_IS_TRIVIALLY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 471 "metafns.gperf"
        {"is_virtual", METAFN_IS_VIRTUAL, METAFN_KIND_BOOL_INFO,},
! #line 489 "metafns.gperf"
        {"has_static_storage_duration", METAFN_HAS_STATIC_STORAGE_DURATION, METAFN_KIND_BOOL_INFO,},
! #line 664 "metafns.gperf"
        {"add_lvalue_reference", METAFN_ADD_LVALUE_REFERENCE, METAFN_KIND_INFO_TINFO,},
! #line 580 "metafns.gperf"
        {"is_lvalue_reference_type", METAFN_IS_LVALUE_REFERENCE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 558 "metafns.gperf"
        {"enumerators_of", METAFN_ENUMERATORS_OF, METAFN_KIND_VECTOR_INFO_INFO,},
! #line 620 "metafns.gperf"
        {"is_destructible_type", METAFN_IS_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 545 "metafns.gperf"
        {"template_arguments_of", METAFN_TEMPLATE_ARGUMENTS_OF, METAFN_KIND_VECTOR_INFO_INFO,},
! #line 653 "metafns.gperf"
        {"is_invocable_type", METAFN_IS_INVOCABLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,},
! #line 660 "metafns.gperf"
        {"add_const", METAFN_ADD_CONST, METAFN_KIND_INFO_TINFO,},
! #line 525 "metafns.gperf"
        {"is_alias_template", METAFN_IS_ALIAS_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 600 "metafns.gperf"
        {"is_empty_type", METAFN_IS_EMPTY_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 628 "metafns.gperf"
        {"is_trivially_destructible_type", METAFN_IS_TRIVIALLY_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 494 "metafns.gperf"
        {"has_external_linkage", METAFN_HAS_EXTERNAL_LINKAGE, METAFN_KIND_BOOL_INFO,},
! #line 549 "metafns.gperf"
        {"is_accessible", METAFN_IS_ACCESSIBLE, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,},
! #line 654 "metafns.gperf"
        {"is_invocable_r_type", METAFN_IS_INVOCABLE_R_TYPE, METAFN_KIND_BOOL_TINFO_TINFO_REFLECTION_RANGET,},
! #line 648 "metafns.gperf"
        {"is_virtual_base_of_type", METAFN_IS_VIRTUAL_BASE_OF_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 597 "metafns.gperf"
        {"is_volatile_type", METAFN_IS_VOLATILE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 569 "metafns.gperf"
        {"reflect_constant_string", METAFN_REFLECT_CONSTANT_STRING, METAFN_KIND_INFO_INPUT_RANGE,},
! #line 622 "metafns.gperf"
        {"is_trivially_default_constructible_type", METAFN_IS_TRIVIALLY_DEFAULT_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 528 "metafns.gperf"
        {"is_literal_operator_template", METAFN_IS_LITERAL_OPERATOR_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 456 "metafns.gperf"
        {"operator_of", METAFN_OPERATOR_OF, METAFN_KIND_OPERATORS_INFO,},
! #line 606 "metafns.gperf"
        {"is_signed_type", METAFN_IS_SIGNED_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 610 "metafns.gperf"
        {"is_scoped_enum_type", METAFN_IS_SCOPED_ENUM_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 618 "metafns.gperf"
        {"is_swappable_with_type", METAFN_IS_SWAPPABLE_WITH_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 557 "metafns.gperf"
        {"subobjects_of", METAFN_SUBOBJECTS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,},
! #line 559 "metafns.gperf"
        {"offset_of", METAFN_OFFSET_OF, METAFN_KIND_MEMBER_OFFSET_INFO,},
! #line 533 "metafns.gperf"
        {"is_structured_binding", METAFN_IS_STRUCTURED_BINDING, METAFN_KIND_BOOL_INFO,},
! #line 474 "metafns.gperf"
        {"is_final", METAFN_IS_FINAL, METAFN_KIND_BOOL_INFO,},
! #line 507 "metafns.gperf"
        {"is_literal_operator", METAFN_IS_LITERAL_OPERATOR, METAFN_KIND_BOOL_INFO,},
! #line 667 "metafns.gperf"
        {"make_unsigned", METAFN_MAKE_UNSIGNED, METAFN_KIND_INFO_TINFO,},
! #line 463 "metafns.gperf"
        {"u8display_string_of", METAFN_U8DISPLAY_STRING_OF, METAFN_KIND_U8STRING_VIEW_INFO,},
! #line 640 "metafns.gperf"
        {"has_virtual_destructor", METAFN_HAS_VIRTUAL_DESTRUCTOR, METAFN_KIND_BOOL_TINFO,},
! #line 596 "metafns.gperf"
        {"is_const_type", METAFN_IS_CONST_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 479 "metafns.gperf"
        {"is_explicit", METAFN_IS_EXPLICIT, METAFN_KIND_BOOL_INFO,},
! #line 572 "metafns.gperf"
        {"is_data_member_spec", METAFN_IS_DATA_MEMBER_SPEC, METAFN_KIND_BOOL_INFO,},
! #line 497 "metafns.gperf"
        {"is_complete_type", METAFN_IS_COMPLETE_TYPE, METAFN_KIND_BOOL_INFO,},
! #line 483 "metafns.gperf"
        {"is_annotation", METAFN_IS_ANNOTATION, METAFN_KIND_BOOL_INFO,},
! #line 587 "metafns.gperf"
        {"is_function_type", METAFN_IS_FUNCTION_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 548 "metafns.gperf"
        {"return_type_of", METAFN_RETURN_TYPE_OF, METAFN_KIND_INFO_INFO,},
! #line 475 "metafns.gperf"
        {"is_deleted", METAFN_IS_DELETED, METAFN_KIND_BOOL_INFO,},
! #line 467 "metafns.gperf"
        {"constant_of", METAFN_CONSTANT_OF, METAFN_KIND_INFO_INFO,},
! #line 661 "metafns.gperf"
        {"add_volatile", METAFN_ADD_VOLATILE, METAFN_KIND_INFO_TINFO,},
! #line 476 "metafns.gperf"
        {"is_defaulted", METAFN_IS_DEFAULTED, METAFN_KIND_BOOL_INFO,},
! #line 641 "metafns.gperf"
        {"has_unique_object_representations", METAFN_HAS_UNIQUE_OBJECT_REPRESENTATIONS, METAFN_KIND_BOOL_TINFO,},
! #line 582 "metafns.gperf"
        {"is_member_object_pointer_type", METAFN_IS_MEMBER_OBJECT_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 462 "metafns.gperf"
        {"display_string_of", METAFN_DISPLAY_STRING_OF, METAFN_KIND_STRING_VIEW_INFO,},
! #line 518 "metafns.gperf"
        {"is_explicit_object_parameter", METAFN_IS_EXPLICIT_OBJECT_PARAMETER, METAFN_KIND_BOOL_INFO,},
! #line 537 "metafns.gperf"
        {"is_static_member", METAFN_IS_STATIC_MEMBER, METAFN_KIND_BOOL_INFO,},
! #line 466 "metafns.gperf"
        {"object_of", METAFN_OBJECT_OF, METAFN_KIND_INFO_INFO,},
! #line 605 "metafns.gperf"
        {"is_consteval_only_type", METAFN_IS_CONSTEVAL_ONLY_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 473 "metafns.gperf"
        {"is_override", METAFN_IS_OVERRIDE, METAFN_KIND_BOOL_INFO,},
! #line 659 "metafns.gperf"
        {"remove_cv", METAFN_REMOVE_CV, METAFN_KIND_INFO_TINFO,},
! #line 567 "metafns.gperf"
        {"reflect_object", METAFN_REFLECT_OBJECT, METAFN_KIND_INFO_TEMPLATE_PARM_REF,},
! #line 577 "metafns.gperf"
        {"is_floating_point_type", METAFN_IS_FLOATING_POINT_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 459 "metafns.gperf"
        {"has_identifier", METAFN_HAS_IDENTIFIER, METAFN_KIND_BOOL_INFO,},
! #line 663 "metafns.gperf"
        {"remove_reference", METAFN_REMOVE_REFERENCE, METAFN_KIND_INFO_TINFO,},
! #line 551 "metafns.gperf"
        {"has_inaccessible_bases", METAFN_HAS_INACCESSIBLE_BASES, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,},
! #line 495 "metafns.gperf"
        {"has_c_language_linkage", METAFN_HAS_C_LANGUAGE_LINKAGE, METAFN_KIND_BOOL_INFO,},
! #line 552 "metafns.gperf"
        {"has_inaccessible_subobjects", METAFN_HAS_INACCESSIBLE_SUBOBJECTS, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,},
! #line 668 "metafns.gperf"
        {"remove_extent", METAFN_REMOVE_EXTENT, METAFN_KIND_INFO_TINFO,},
! #line 550 "metafns.gperf"
        {"has_inaccessible_nonstatic_data_members", METAFN_HAS_INACCESSIBLE_NONSTATIC_DATA_MEMBERS, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,},
! #line 488 "metafns.gperf"
        {"is_rvalue_reference_qualified", METAFN_IS_RVALUE_REFERENCE_QUALIFIED, METAFN_KIND_BOOL_INFO,},
! #line 643 "metafns.gperf"
        {"reference_converts_from_temporary", METAFN_REFERENCE_CONVERTS_FROM_TEMPORARY, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 586 "metafns.gperf"
        {"is_class_type", METAFN_IS_CLASS_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 478 "metafns.gperf"
        {"is_user_declared", METAFN_IS_USER_DECLARED, METAFN_KIND_BOOL_INFO,},
! #line 571 "metafns.gperf"
        {"data_member_spec", METAFN_DATA_MEMBER_SPEC, METAFN_KIND_INFO_TINFO_DATA_MEMBER_OPTIONS,},
! #line 487 "metafns.gperf"
        {"is_lvalue_reference_qualified", METAFN_IS_LVALUE_REFERENCE_QUALIFIED, METAFN_KIND_BOOL_INFO,},
! #line 490 "metafns.gperf"
        {"has_thread_storage_duration", METAFN_HAS_THREAD_STORAGE_DURATION, METAFN_KIND_BOOL_INFO,},
! #line 481 "metafns.gperf"
        {"is_bit_field", METAFN_IS_BIT_FIELD, METAFN_KIND_BOOL_INFO,},
! #line 672 "metafns.gperf"
        {"remove_cvref", METAFN_REMOVE_CVREF, METAFN_KIND_INFO_TINFO,},
! #line 677 "metafns.gperf"
        {"invoke_result", METAFN_INVOKE_RESULT, METAFN_KIND_INFO_TINFO_REFLECTION_RANGET,},
! #line 543 "metafns.gperf"
        {"has_template_arguments", METAFN_HAS_TEMPLATE_ARGUMENTS, METAFN_KIND_BOOL_INFO,},
! #line 506 "metafns.gperf"
        {"is_operator_function", METAFN_IS_OPERATOR_FUNCTION, METAFN_KIND_BOOL_INFO,},
! #line 670 "metafns.gperf"
        {"remove_pointer", METAFN_REMOVE_POINTER, METAFN_KIND_INFO_TINFO,},
! #line 542 "metafns.gperf"
        {"dealias", METAFN_DEALIAS, METAFN_KIND_INFO_INFO,},
! #line 657 "metafns.gperf"
        {"remove_const", METAFN_REMOVE_CONST, METAFN_KIND_INFO_TINFO,},
! #line 527 "metafns.gperf"
        {"is_operator_function_template", METAFN_IS_OPERATOR_FUNCTION_TEMPLATE, METAFN_KIND_BOOL_INFO,},
! #line 642 "metafns.gperf"
        {"reference_constructs_from_temporary", METAFN_REFERENCE_CONSTRUCTS_FROM_TEMPORARY, METAFN_KIND_BOOL_TINFO_TINFO,},
! #line 669 "metafns.gperf"
        {"remove_all_extents", METAFN_REMOVE_ALL_EXTENTS, METAFN_KIND_INFO_TINFO,},
! #line 578 "metafns.gperf"
        {"is_array_type", METAFN_IS_ARRAY_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 492 "metafns.gperf"
        {"has_internal_linkage", METAFN_HAS_INTERNAL_LINKAGE, METAFN_KIND_BOOL_INFO,},
! #line 666 "metafns.gperf"
        {"make_signed", METAFN_MAKE_SIGNED, METAFN_KIND_INFO_TINFO,},
! #line 555 "metafns.gperf"
        {"static_data_members_of", METAFN_STATIC_DATA_MEMBERS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,},
! #line 594 "metafns.gperf"
        {"is_compound_type", METAFN_IS_COMPOUND_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 602 "metafns.gperf"
        {"is_abstract_type", METAFN_IS_ABSTRACT_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 573 "metafns.gperf"
        {"define_aggregate", METAFN_DEFINE_AGGREGATE, METAFN_KIND_INFO_INFO_REFLECTION_RANGE,},
  #line 688 "metafns.gperf"
+       {"_S_exception_cvt_to_utf8", METAFN_EXCEPTION__S_EXCEPTION_CVT_TO_UTF8, METAFN_KIND_U8STRING_VIEW_INPUT_RANGE,},
+ #line 689 "metafns.gperf"
        {"_S_exception_cvt_from_utf8", METAFN_EXCEPTION__S_EXCEPTION_CVT_FROM_UTF8, METAFN_KIND_STRING_VIEW_INPUT_RANGE,},
! #line 609 "metafns.gperf"
        {"is_unbounded_array_type", METAFN_IS_UNBOUNDED_ARRAY_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 599 "metafns.gperf"
        {"is_standard_layout_type", METAFN_IS_STANDARD_LAYOUT_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 679 "metafns.gperf"
        {"unwrap_ref_decay", METAFN_UNWRAP_REF_DECAY, METAFN_KIND_INFO_TINFO,},
! #line 570 "metafns.gperf"
        {"reflect_constant_array", METAFN_REFLECT_CONSTANT_ARRAY, METAFN_KIND_INFO_INPUT_RANGE,},
! #line 458 "metafns.gperf"
        {"u8symbol_of", METAFN_U8SYMBOL_OF, METAFN_KIND_U8STRING_VIEW_OPERATORS,},
! #line 576 "metafns.gperf"
        {"is_integral_type", METAFN_IS_INTEGRAL_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 556 "metafns.gperf"
        {"nonstatic_data_members_of", METAFN_NONSTATIC_DATA_MEMBERS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,},
! #line 673 "metafns.gperf"
        {"decay", METAFN_DECAY, METAFN_KIND_INFO_TINFO,},
! #line 603 "metafns.gperf"
        {"is_final_type", METAFN_IS_FINAL_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 658 "metafns.gperf"
        {"remove_volatile", METAFN_REMOVE_VOLATILE, METAFN_KIND_INFO_TINFO,},
! #line 561 "metafns.gperf"
        {"alignment_of", METAFN_ALIGNMENT_OF, METAFN_KIND_SIZE_T_INFO,},
! #line 464 "metafns.gperf"
        {"source_location_of", METAFN_SOURCE_LOCATION_OF, METAFN_KIND_SOURCE_LOCATION_INFO,},
! #line 686 "metafns.gperf"
        {"annotations_of_with_type", METAFN_ANNOTATIONS_OF_WITH_TYPE, METAFN_KIND_VECTOR_INFO_INFO_INFO,},
! #line 461 "metafns.gperf"
        {"u8identifier_of", METAFN_U8IDENTIFIER_OF, METAFN_KIND_U8STRING_VIEW_INFO,},
! #line 685 "metafns.gperf"
        {"annotations_of", METAFN_ANNOTATIONS_OF, METAFN_KIND_VECTOR_INFO_INFO,},
! #line 585 "metafns.gperf"
        {"is_union_type", METAFN_IS_UNION_TYPE, METAFN_KIND_BOOL_TINFO,},
! #line 477 "metafns.gperf"
        {"is_user_provided", METAFN_IS_USER_PROVIDED, METAFN_KIND_BOOL_INFO,},
! #line 607 "metafns.gperf"
        {"is_unsigned_type", METAFN_IS_UNSIGNED_TYPE, METAFN_KIND_BOOL_TINFO,}
      };
  #if (defined __GNUC__ && __GNUC__ + (__GNUC_MINOR__ >= 6) > 4) || (defined __clang__ && __clang_major__ >= 3)
diff -Nrcpad gcc-16-20260118/gcc/cp/name-lookup.cc gcc-16-20260125/gcc/cp/name-lookup.cc
*** gcc-16-20260118/gcc/cp/name-lookup.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/cp/name-lookup.cc	Sun Jan 25 22:32:07 2026
*************** handle_namespace_attrs (tree ns, tree at
*** 6626,6632 ****
        tree name = get_attribute_name (d);
        tree args = TREE_VALUE (d);
  
!       if (is_attribute_p ("visibility", name))
  	{
  	  /* attribute visibility is a property of the syntactic block
  	     rather than the namespace as a whole, so we don't touch the
--- 6626,6633 ----
        tree name = get_attribute_name (d);
        tree args = TREE_VALUE (d);
  
!       if (is_attribute_p ("visibility", name)
! 	  && is_attribute_namespace_p ("gnu", d))
  	{
  	  /* attribute visibility is a property of the syntactic block
  	     rather than the namespace as a whole, so we don't touch the
*************** handle_namespace_attrs (tree ns, tree at
*** 6648,6654 ****
  	  push_visibility (TREE_STRING_POINTER (x), 1);
  	  saw_vis = true;
  	}
!       else if (is_attribute_p ("abi_tag", name))
  	{
  	  if (!DECL_NAME (ns))
  	    {
--- 6649,6656 ----
  	  push_visibility (TREE_STRING_POINTER (x), 1);
  	  saw_vis = true;
  	}
!       else if (is_attribute_p ("abi_tag", name)
! 	       && is_attribute_namespace_p ("gnu", d))
  	{
  	  if (!DECL_NAME (ns))
  	    {
*************** handle_namespace_attrs (tree ns, tree at
*** 6675,6681 ****
  	    DECL_ATTRIBUTES (ns) = tree_cons (name, args,
  					      DECL_ATTRIBUTES (ns));
  	}
!       else if (is_attribute_p ("deprecated", name))
  	{
  	  if (!DECL_NAME (ns))
  	    {
--- 6677,6684 ----
  	    DECL_ATTRIBUTES (ns) = tree_cons (name, args,
  					      DECL_ATTRIBUTES (ns));
  	}
!       else if (is_attribute_p ("deprecated", name)
! 	       && is_attribute_namespace_p ("", d))
  	{
  	  if (!DECL_NAME (ns))
  	    {
diff -Nrcpad gcc-16-20260118/gcc/cp/parser.cc gcc-16-20260125/gcc/cp/parser.cc
*** gcc-16-20260118/gcc/cp/parser.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/cp/parser.cc	Sun Jan 25 22:32:07 2026
*************** cp_parser_expression (cp_parser* parser,
*** 12132,12141 ****
  	     and one CPP_NUMBER plus CPP_COMMA before it and one
  	     CPP_COMMA plus CPP_NUMBER after it is guaranteed by
  	     the preprocessor.  Thus, parse the whole CPP_EMBED just
! 	     as a single INTEGER_CST, the last byte in it.  */
  	  tree raw_data = cp_lexer_peek_token (parser->lexer)->u.value;
  	  location_t loc = cp_lexer_peek_token (parser->lexer)->location;
  	  cp_lexer_consume_token (parser->lexer);
  	  assignment_expression
  	    = *raw_data_iterator (raw_data, RAW_DATA_LENGTH (raw_data) - 1);
  	  assignment_expression.set_location (loc);
--- 12132,12155 ----
  	     and one CPP_NUMBER plus CPP_COMMA before it and one
  	     CPP_COMMA plus CPP_NUMBER after it is guaranteed by
  	     the preprocessor.  Thus, parse the whole CPP_EMBED just
! 	     as a single INTEGER_CST, the last byte in it.  Though,
! 	     don't use that shortcut if the comma operator could be
! 	     overloaded.  */
  	  tree raw_data = cp_lexer_peek_token (parser->lexer)->u.value;
  	  location_t loc = cp_lexer_peek_token (parser->lexer)->location;
  	  cp_lexer_consume_token (parser->lexer);
+ 	  if (OVERLOAD_TYPE_P (TREE_TYPE (expression))
+ 	      || type_dependent_expression_p (expression))
+ 	    for (unsigned i = 0; i < RAW_DATA_LENGTH (raw_data) - 1U; ++i)
+ 	      {
+ 		assignment_expression
+ 		  = *raw_data_iterator (raw_data, i);
+ 		assignment_expression.set_location (loc);
+ 		expression
+ 		  = build_x_compound_expr (loc, expression,
+ 					   assignment_expression, NULL_TREE,
+ 					   complain_flags (decltype_p));
+ 	      }
  	  assignment_expression
  	    = *raw_data_iterator (raw_data, RAW_DATA_LENGTH (raw_data) - 1);
  	  assignment_expression.set_location (loc);
*************** substitute_in_tree_walker (tree *tp, int
*** 49853,49858 ****
--- 49867,49875 ----
    else if (TREE_CODE (*tp) == BIND_EXPR
  	   && BIND_EXPR_BODY (*tp) == sit->orig
  	   && !BIND_EXPR_VARS (*tp)
+ 	   /* BIND_EXPRs in templates likely have NULL BIND_EXPR_VARS,
+ 	      are created by begin_compound_stmt and are not redundant.  */
+ 	   && !processing_template_decl
  	   && (sit->flatten || TREE_CODE (sit->repl) == BIND_EXPR))
      {
        *tp = sit->repl;
*************** substitute_in_tree (tree *context, tree
*** 49897,49903 ****
    struct sit_data data;
  
    gcc_assert (*context && orig && repl);
!   if (TREE_CODE (repl) == BIND_EXPR && !BIND_EXPR_VARS (repl))
      repl = BIND_EXPR_BODY (repl);
    data.orig = orig;
    data.repl = repl;
--- 49914,49925 ----
    struct sit_data data;
  
    gcc_assert (*context && orig && repl);
!   /* Look through redundant BIND_EXPR.  BIND_EXPRs in templates likely have
!      NULL BIND_EXPR_VARS, are created by begin_compound_stmt and are not
!      redundant.  */
!   if (TREE_CODE (repl) == BIND_EXPR
!       && !BIND_EXPR_VARS (repl)
!       && !processing_template_decl)
      repl = BIND_EXPR_BODY (repl);
    data.orig = orig;
    data.repl = repl;
diff -Nrcpad gcc-16-20260118/gcc/cp/reflect.cc gcc-16-20260125/gcc/cp/reflect.cc
*** gcc-16-20260118/gcc/cp/reflect.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/cp/reflect.cc	Sun Jan 25 22:32:07 2026
*************** get_info (const constexpr_ctx *ctx, tree
*** 349,365 ****
    return info;
  }
  
- /* Try to get the underlying FUNCTION_DECL from reflection if any,
-    otherwise return R.  */
- 
- static tree
- maybe_get_reflection_fndecl (tree r)
- {
-   r = MAYBE_BASELINK_FUNCTIONS (r);
-   r = OVL_FIRST (r);
-   return r;
- }
- 
  /* Helper function for get_range_elts, called through cp_walk_tree.  */
  
  static tree
--- 349,354 ----
*************** get_range_elts (location_t loc, const co
*** 600,605 ****
--- 589,599 ----
  	TREE_STATIC (ctor) = true;
  	tree r = finish_compound_literal (type, ctor, tf_warning_or_error,
  					  fcl_functional);
+ 	/* Here, we're evaluating an AGGR_INIT_EXPR, which is already
+ 	   embedded in a TARGET_EXPR, so we don't want to add another
+ 	   TARGET_EXPR inside it.  Note that SIMPLE_TARGET_EXPR_P would
+ 	   always be false because the TARGET_EXPR_INITIAL is an
+ 	   AGGR_INIT_EXPR with void type.  */
  	if (TREE_CODE (r) == TARGET_EXPR)
  	  r = TARGET_EXPR_INITIAL (r);
  	return r;
*************** eval_is_namespace_alias (const_tree r)
*** 1146,1152 ****
  static tree
  eval_is_function (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
  
    if (TREE_CODE (r) == FUNCTION_DECL)
      return boolean_true_node;
--- 1140,1146 ----
  static tree
  eval_is_function (tree r)
  {
!   r = maybe_get_first_fn (r);
  
    if (TREE_CODE (r) == FUNCTION_DECL)
      return boolean_true_node;
*************** eval_is_function (tree r)
*** 1160,1166 ****
  static tree
  eval_is_function_template (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
  
    if (DECL_FUNCTION_TEMPLATE_P (r))
      return boolean_true_node;
--- 1154,1160 ----
  static tree
  eval_is_function_template (tree r)
  {
!   r = maybe_get_first_fn (r);
  
    if (DECL_FUNCTION_TEMPLATE_P (r))
      return boolean_true_node;
*************** eval_is_structured_binding (const_tree r
*** 1284,1290 ****
  static tree
  eval_is_class_member (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
    if (TREE_CODE (r) == CONST_DECL)
      {
        /* [class.mem.general]/5 - The enumerators of an unscoped enumeration
--- 1278,1284 ----
  static tree
  eval_is_class_member (tree r)
  {
!   r = maybe_get_first_fn (r);
    if (TREE_CODE (r) == CONST_DECL)
      {
        /* [class.mem.general]/5 - The enumerators of an unscoped enumeration
*************** eval_is_expected_access (tree r, reflect
*** 1332,1338 ****
  {
    if (eval_is_class_member (r) == boolean_true_node)
      {
!       r = maybe_get_reflection_fndecl (r);
  
        if (TYPE_P (r))
  	{
--- 1326,1332 ----
  {
    if (eval_is_class_member (r) == boolean_true_node)
      {
!       r = maybe_get_first_fn (r);
  
        if (TYPE_P (r))
  	{
*************** eval_is_private (tree r, reflect_kind ki
*** 1425,1431 ****
  static tree
  eval_is_virtual (tree r, reflect_kind kind)
  {
!   r = maybe_get_reflection_fndecl (r);
    if (TREE_CODE (r) == FUNCTION_DECL && DECL_VIRTUAL_P (r))
      return boolean_true_node;
  
--- 1419,1425 ----
  static tree
  eval_is_virtual (tree r, reflect_kind kind)
  {
!   r = maybe_get_first_fn (r);
    if (TREE_CODE (r) == FUNCTION_DECL && DECL_VIRTUAL_P (r))
      return boolean_true_node;
  
*************** eval_is_virtual (tree r, reflect_kind ki
*** 1442,1448 ****
  static tree
  eval_is_pure_virtual (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
    if (TREE_CODE (r) == FUNCTION_DECL && DECL_PURE_VIRTUAL_P (r))
      return boolean_true_node;
    else
--- 1436,1442 ----
  static tree
  eval_is_pure_virtual (tree r)
  {
!   r = maybe_get_first_fn (r);
    if (TREE_CODE (r) == FUNCTION_DECL && DECL_PURE_VIRTUAL_P (r))
      return boolean_true_node;
    else
*************** is_override (tree type, tree fndecl)
*** 1478,1484 ****
  static tree
  eval_is_override (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
    if (TREE_CODE (r) == FUNCTION_DECL
        && DECL_VIRTUAL_P (r)
        && !DECL_STATIC_FUNCTION_P (r)
--- 1472,1478 ----
  static tree
  eval_is_override (tree r)
  {
!   r = maybe_get_first_fn (r);
    if (TREE_CODE (r) == FUNCTION_DECL
        && DECL_VIRTUAL_P (r)
        && !DECL_STATIC_FUNCTION_P (r)
*************** eval_is_override (tree r)
*** 1493,1499 ****
  static tree
  eval_is_namespace_member (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
    if (TREE_CODE (r) == CONST_DECL)
      {
        if (UNSCOPED_ENUM_P (DECL_CONTEXT (r)))
--- 1487,1493 ----
  static tree
  eval_is_namespace_member (tree r)
  {
!   r = maybe_get_first_fn (r);
    if (TREE_CODE (r) == CONST_DECL)
      {
        if (UNSCOPED_ENUM_P (DECL_CONTEXT (r)))
*************** eval_is_nonstatic_data_member (const_tre
*** 1533,1539 ****
  static tree
  eval_is_static_member (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
    r = STRIP_TEMPLATE (r);
    if (TREE_CODE (r) == FUNCTION_DECL && DECL_STATIC_FUNCTION_P (r))
      return boolean_true_node;
--- 1527,1533 ----
  static tree
  eval_is_static_member (tree r)
  {
!   r = maybe_get_first_fn (r);
    r = STRIP_TEMPLATE (r);
    if (TREE_CODE (r) == FUNCTION_DECL && DECL_STATIC_FUNCTION_P (r))
      return boolean_true_node;
*************** eval_has_ellipsis_parameter (tree r)
*** 1751,1757 ****
  static tree
  eval_is_deleted (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
    if (TREE_CODE (r) == FUNCTION_DECL && DECL_MAYBE_DELETED (r))
      {
        ++function_depth;
--- 1745,1751 ----
  static tree
  eval_is_deleted (tree r)
  {
!   r = maybe_get_first_fn (r);
    if (TREE_CODE (r) == FUNCTION_DECL && DECL_MAYBE_DELETED (r))
      {
        ++function_depth;
*************** eval_is_deleted (tree r)
*** 1771,1777 ****
  static tree
  eval_is_defaulted (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
    if (TREE_CODE (r) == FUNCTION_DECL && DECL_DEFAULTED_FN (r))
      return boolean_true_node;
    else
--- 1765,1771 ----
  static tree
  eval_is_defaulted (tree r)
  {
!   r = maybe_get_first_fn (r);
    if (TREE_CODE (r) == FUNCTION_DECL && DECL_DEFAULTED_FN (r))
      return boolean_true_node;
    else
*************** eval_is_defaulted (tree r)
*** 1785,1796 ****
  static tree
  eval_is_user_provided (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
!   if (TREE_CODE (r) == FUNCTION_DECL
!       && user_provided_p (r)
!       // TODO: user_provided_p is false for non-members defaulted on
!       // first declaration.
!       && (!DECL_NAMESPACE_SCOPE_P (r) || !DECL_DELETED_FN (r)))
      return boolean_true_node;
    else
      return boolean_false_node;
--- 1779,1786 ----
  static tree
  eval_is_user_provided (tree r)
  {
!   r = maybe_get_first_fn (r);
!   if (TREE_CODE (r) == FUNCTION_DECL && user_provided_p (r))
      return boolean_true_node;
    else
      return boolean_false_node;
*************** eval_is_user_provided (tree r)
*** 1803,1809 ****
  static tree
  eval_is_user_declared (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
    if (TREE_CODE (r) == FUNCTION_DECL && !DECL_ARTIFICIAL (r))
      return boolean_true_node;
    else
--- 1793,1799 ----
  static tree
  eval_is_user_declared (tree r)
  {
!   r = maybe_get_first_fn (r);
    if (TREE_CODE (r) == FUNCTION_DECL && !DECL_ARTIFICIAL (r))
      return boolean_true_node;
    else
*************** eval_is_user_declared (tree r)
*** 1822,1828 ****
  static tree
  eval_is_explicit (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
  
    if (TREE_CODE (r) == FUNCTION_DECL && DECL_NONCONVERTING_P (r))
      return boolean_true_node;
--- 1812,1818 ----
  static tree
  eval_is_explicit (tree r)
  {
!   r = maybe_get_first_fn (r);
  
    if (TREE_CODE (r) == FUNCTION_DECL && DECL_NONCONVERTING_P (r))
      return boolean_true_node;
*************** eval_is_enumerator (const_tree r)
*** 1859,1877 ****
      return boolean_false_node;
  }
  
! /* Get the linkage name for T, or NULL_TREE, if N/A.  */
  
  static tree
! type_linkage_name (tree t)
  {
!   if (TYPE_NAME (t) == NULL_TREE
!       || !DECL_P (TYPE_NAME (t))
!       || (!DECL_IMPLICIT_TYPEDEF_P (TYPE_NAME (t))
! 	  && TYPE_NAME (t) == TYPE_NAME (TYPE_MAIN_VARIANT (t))
! 	  && !TYPE_MAIN_DECL (t)))
!     return NULL_TREE;
! 
!   return TYPE_NAME (t);
  }
  
  /* Process std::meta::has_internal_linkage.
--- 1849,1863 ----
      return boolean_false_node;
  }
  
! /* Get the linkage name for T, or NULL_TREE for types with no name
!    or for typedefs.  */
  
  static tree
! reflection_type_linkage_name (tree t)
  {
!   if (OVERLOAD_TYPE_P (t) && !typedef_variant_p (t))
!     return TYPE_NAME (t);
!   return NULL_TREE;
  }
  
  /* Process std::meta::has_internal_linkage.
*************** eval_has_internal_linkage (tree r, refle
*** 1887,1897 ****
        && eval_is_template (r) == boolean_false_node
        && eval_is_namespace (r) == boolean_false_node)
      return boolean_false_node;
!   r = maybe_get_reflection_fndecl (r);
    r = STRIP_TEMPLATE (r);
    if (TYPE_P (r))
      {
!       r = type_linkage_name (r);
        if (!r)
  	return boolean_false_node;
      }
--- 1873,1883 ----
        && eval_is_template (r) == boolean_false_node
        && eval_is_namespace (r) == boolean_false_node)
      return boolean_false_node;
!   r = maybe_get_first_fn (r);
    r = STRIP_TEMPLATE (r);
    if (TYPE_P (r))
      {
!       r = reflection_type_linkage_name (r);
        if (!r)
  	return boolean_false_node;
      }
*************** eval_has_module_linkage (tree r, reflect
*** 1914,1924 ****
        && eval_is_template (r) == boolean_false_node
        && eval_is_namespace (r) == boolean_false_node)
      return boolean_false_node;
!   r = maybe_get_reflection_fndecl (r);
    r = STRIP_TEMPLATE (r);
    if (TYPE_P (r))
      {
!       r = type_linkage_name (r);
        if (!r)
  	return boolean_false_node;
      }
--- 1900,1910 ----
        && eval_is_template (r) == boolean_false_node
        && eval_is_namespace (r) == boolean_false_node)
      return boolean_false_node;
!   r = maybe_get_first_fn (r);
    r = STRIP_TEMPLATE (r);
    if (TYPE_P (r))
      {
!       r = reflection_type_linkage_name (r);
        if (!r)
  	return boolean_false_node;
      }
*************** eval_has_external_linkage (tree r, refle
*** 1944,1954 ****
        && eval_is_template (r) == boolean_false_node
        && eval_is_namespace (r) == boolean_false_node)
      return boolean_false_node;
!   r = maybe_get_reflection_fndecl (r);
    r = STRIP_TEMPLATE (r);
    if (TYPE_P (r))
      {
!       r = type_linkage_name (r);
        if (!r)
  	return boolean_false_node;
      }
--- 1930,1940 ----
        && eval_is_template (r) == boolean_false_node
        && eval_is_namespace (r) == boolean_false_node)
      return boolean_false_node;
!   r = maybe_get_first_fn (r);
    r = STRIP_TEMPLATE (r);
    if (TYPE_P (r))
      {
!       r = reflection_type_linkage_name (r);
        if (!r)
  	return boolean_false_node;
      }
*************** eval_has_c_language_linkage (tree r, ref
*** 1972,1982 ****
        && eval_is_function (r) == boolean_false_node
        && eval_is_function_type (r) == boolean_false_node)
      return boolean_false_node;
!   r = maybe_get_reflection_fndecl (r);
    r = STRIP_TEMPLATE (r);
    if (TYPE_P (r))
      {
!       r = type_linkage_name (r);
        if (!r)
  	return boolean_false_node;
      }
--- 1958,1968 ----
        && eval_is_function (r) == boolean_false_node
        && eval_is_function_type (r) == boolean_false_node)
      return boolean_false_node;
!   r = maybe_get_first_fn (r);
    r = STRIP_TEMPLATE (r);
    if (TYPE_P (r))
      {
!       r = reflection_type_linkage_name (r);
        if (!r)
  	return boolean_false_node;
      }
*************** eval_has_linkage (tree r, reflect_kind k
*** 1999,2009 ****
        && eval_is_template (r) == boolean_false_node
        && eval_is_namespace (r) == boolean_false_node)
      return boolean_false_node;
!   r = maybe_get_reflection_fndecl (r);
    r = STRIP_TEMPLATE (r);
    if (TYPE_P (r))
      {
!       r = type_linkage_name (r);
        if (!r)
  	return boolean_false_node;
      }
--- 1985,1995 ----
        && eval_is_template (r) == boolean_false_node
        && eval_is_namespace (r) == boolean_false_node)
      return boolean_false_node;
!   r = maybe_get_first_fn (r);
    r = STRIP_TEMPLATE (r);
    if (TYPE_P (r))
      {
!       r = reflection_type_linkage_name (r);
        if (!r)
  	return boolean_false_node;
      }
*************** eval_is_conversion_function (tree r)
*** 2092,2098 ****
  static tree
  eval_is_operator_function (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
  
    if (TREE_CODE (r) == FUNCTION_DECL
        && DECL_OVERLOADED_OPERATOR_P (r)
--- 2078,2084 ----
  static tree
  eval_is_operator_function (tree r)
  {
!   r = maybe_get_first_fn (r);
  
    if (TREE_CODE (r) == FUNCTION_DECL
        && DECL_OVERLOADED_OPERATOR_P (r)
*************** eval_is_move_assignment (tree r)
*** 2240,2246 ****
  static tree
  eval_is_destructor (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
    if (TREE_CODE (r) == FUNCTION_DECL
        && DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P (r))
      return boolean_true_node;
--- 2226,2232 ----
  static tree
  eval_is_destructor (tree r)
  {
!   r = maybe_get_first_fn (r);
    if (TREE_CODE (r) == FUNCTION_DECL
        && DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P (r))
      return boolean_true_node;
*************** eval_is_destructor (tree r)
*** 2255,2261 ****
  static tree
  eval_is_conversion_function_template (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
  
    if (DECL_FUNCTION_TEMPLATE_P (r) && DECL_CONV_FN_P (r))
      return boolean_true_node;
--- 2241,2247 ----
  static tree
  eval_is_conversion_function_template (tree r)
  {
!   r = maybe_get_first_fn (r);
  
    if (DECL_FUNCTION_TEMPLATE_P (r) && DECL_CONV_FN_P (r))
      return boolean_true_node;
*************** eval_is_conversion_function_template (tr
*** 2270,2276 ****
  static tree
  eval_is_operator_function_template (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
  
    if (DECL_FUNCTION_TEMPLATE_P (r))
      {
--- 2256,2262 ----
  static tree
  eval_is_operator_function_template (tree r)
  {
!   r = maybe_get_first_fn (r);
  
    if (DECL_FUNCTION_TEMPLATE_P (r))
      {
*************** eval_is_literal_operator_template (tree
*** 2306,2312 ****
  static tree
  eval_is_constructor_template (tree r)
  {
!   r = maybe_get_reflection_fndecl (r);
  
    if (DECL_FUNCTION_TEMPLATE_P (r) && DECL_CONSTRUCTOR_P (r))
      return boolean_true_node;
--- 2292,2298 ----
  static tree
  eval_is_constructor_template (tree r)
  {
!   r = maybe_get_first_fn (r);
  
    if (DECL_FUNCTION_TEMPLATE_P (r) && DECL_CONSTRUCTOR_P (r))
      return boolean_true_node;
*************** eval_operator_of (location_t loc, const
*** 2332,2338 ****
  			    "reflection does not represent an operator "
  			    "function or operator function template",
  			    fun, non_constant_p, jump_target);
!   r = maybe_get_reflection_fndecl (r);
    r = STRIP_TEMPLATE (r);
    maybe_init_meta_operators (loc);
    int i = IDENTIFIER_ASSIGN_OP_P (DECL_NAME (r)) ? 1 : 0;
--- 2318,2324 ----
  			    "reflection does not represent an operator "
  			    "function or operator function template",
  			    fun, non_constant_p, jump_target);
!   r = maybe_get_first_fn (r);
    r = STRIP_TEMPLATE (r);
    maybe_init_meta_operators (loc);
    int i = IDENTIFIER_ASSIGN_OP_P (DECL_NAME (r)) ? 1 : 0;
*************** eval_is_noexcept (tree r)
*** 2749,2755 ****
  {
    if (eval_is_function (r) == boolean_true_node)
      {
!       r = maybe_get_reflection_fndecl (r);
        maybe_instantiate_noexcept (r);
        if (TYPE_NOTHROW_P (TREE_TYPE (r)))
  	return boolean_true_node;
--- 2735,2741 ----
  {
    if (eval_is_function (r) == boolean_true_node)
      {
!       r = maybe_get_first_fn (r);
        maybe_instantiate_noexcept (r);
        if (TYPE_NOTHROW_P (TREE_TYPE (r)))
  	return boolean_true_node;
*************** eval_has_parent (tree r, reflect_kind ki
*** 2891,2897 ****
        else
  	return boolean_false_node;
      }
!   r = maybe_get_reflection_fndecl (r);
    if (kind == REFLECT_BASE)
      return boolean_true_node;
    if (!DECL_P (r))
--- 2877,2883 ----
        else
  	return boolean_false_node;
      }
!   r = maybe_get_first_fn (r);
    if (kind == REFLECT_BASE)
      return boolean_true_node;
    if (!DECL_P (r))
*************** eval_parent_of (location_t loc, const co
*** 2929,2935 ****
  				      "entity with parent",
  			    fun, non_constant_p, jump_target);
    tree c;
!   r = maybe_get_reflection_fndecl (r);
    if (TYPE_P (r))
      {
        if (TYPE_NAME (r) && DECL_P (TYPE_NAME (r)))
--- 2915,2921 ----
  				      "entity with parent",
  			    fun, non_constant_p, jump_target);
    tree c;
!   r = maybe_get_first_fn (r);
    if (TYPE_P (r))
      {
        if (TYPE_NAME (r) && DECL_P (TYPE_NAME (r)))
*************** get_vector_of_info_elts (vec<constructor
*** 2983,2988 ****
--- 2969,2979 ----
      return error_mark_node;
    tree r = finish_compound_literal (type, ctor, tf_warning_or_error,
  				    fcl_functional);
+   /* Here, we're evaluating an AGGR_INIT_EXPR, which is already
+      embedded in a TARGET_EXPR, so we don't want to add another
+      TARGET_EXPR inside it.  Note that SIMPLE_TARGET_EXPR_P would
+      always be false because the TARGET_EXPR_INITIAL is an
+      AGGR_INIT_EXPR with void type.  */
    if (TREE_CODE (r) == TARGET_EXPR)
      r = TARGET_EXPR_INITIAL (r);
    return r;
*************** eval_parameters_of (location_t loc, cons
*** 3008,3014 ****
        && eval_is_function_type (r) != boolean_true_node)
      return throw_exception_nofn (loc, ctx, fun, non_constant_p, jump_target);
  
!   r = maybe_get_reflection_fndecl (r);
    vec<constructor_elt, va_gc> *elts = nullptr;
    tree args = (TREE_CODE (r) == FUNCTION_DECL
  	       ? FUNCTION_FIRST_USER_PARM (r)
--- 2999,3005 ----
        && eval_is_function_type (r) != boolean_true_node)
      return throw_exception_nofn (loc, ctx, fun, non_constant_p, jump_target);
  
!   r = maybe_get_first_fn (r);
    vec<constructor_elt, va_gc> *elts = nullptr;
    tree args = (TREE_CODE (r) == FUNCTION_DECL
  	       ? FUNCTION_FIRST_USER_PARM (r)
*************** eval_bit_size_of (location_t loc, const
*** 3376,3382 ****
  static tree
  eval_has_identifier (tree r, reflect_kind kind)
  {
!   r = maybe_get_reflection_fndecl (r);
    if (kind == REFLECT_BASE)
      {
        r = type_of (r, kind);
--- 3367,3373 ----
  static tree
  eval_has_identifier (tree r, reflect_kind kind)
  {
!   r = maybe_get_first_fn (r);
    if (kind == REFLECT_BASE)
      {
        r = type_of (r, kind);
*************** eval_identifier_of (location_t loc, cons
*** 3501,3507 ****
      return throw_exception (loc, ctx,
  			    "reflection with has_identifier false",
  			    fun, non_constant_p, jump_target);
!   r = maybe_get_reflection_fndecl (r);
    const char *name = NULL;
    if (kind == REFLECT_BASE)
      {
--- 3492,3498 ----
      return throw_exception (loc, ctx,
  			    "reflection with has_identifier false",
  			    fun, non_constant_p, jump_target);
!   r = maybe_get_first_fn (r);
    const char *name = NULL;
    if (kind == REFLECT_BASE)
      {
*************** eval_display_string_of (location_t loc,
*** 3571,3577 ****
  #pragma GCC diagnostic ignored "-Wformat"
  #pragma GCC diagnostic ignored "-Wformat-diag"
  #endif
!   r = maybe_get_reflection_fndecl (r);
    pretty_printer pp, *refpp = global_dc->get_reference_printer ();
    pp_format_decoder (&pp) = pp_format_decoder (refpp);
    pp.set_format_postprocessor (pp_format_postprocessor (refpp)->clone ());
--- 3562,3568 ----
  #pragma GCC diagnostic ignored "-Wformat"
  #pragma GCC diagnostic ignored "-Wformat-diag"
  #endif
!   r = maybe_get_first_fn (r);
    pretty_printer pp, *refpp = global_dc->get_reference_printer ();
    pp_format_decoder (&pp) = pp_format_decoder (refpp);
    pp.set_format_postprocessor (pp_format_postprocessor (refpp)->clone ());
*************** eval_is_final (tree r)
*** 4243,4249 ****
  {
    if (eval_is_function (r) == boolean_true_node)
      {
!       r = maybe_get_reflection_fndecl (r);
        if (TREE_CODE (r) == FUNCTION_DECL && DECL_FINAL_P (r))
  	return boolean_true_node;
        else
--- 4234,4240 ----
  {
    if (eval_is_function (r) == boolean_true_node)
      {
!       r = maybe_get_first_fn (r);
        if (TREE_CODE (r) == FUNCTION_DECL && DECL_FINAL_P (r))
  	return boolean_true_node;
        else
*************** eval_is_accessible (location_t loc, cons
*** 6333,6339 ****
  
    if (eval_is_class_member (r) == boolean_true_node)
      {
!       r = maybe_get_reflection_fndecl (r);
        c = r;
        if (TREE_CODE (r) == CONST_DECL && UNSCOPED_ENUM_P (DECL_CONTEXT (r)))
  	c = DECL_CONTEXT (r);
--- 6324,6330 ----
  
    if (eval_is_class_member (r) == boolean_true_node)
      {
!       r = maybe_get_first_fn (r);
        c = r;
        if (TREE_CODE (r) == CONST_DECL && UNSCOPED_ENUM_P (DECL_CONTEXT (r)))
  	c = DECL_CONTEXT (r);
*************** class_members_of (location_t loc, const
*** 6630,6637 ****
  				  get_reflection_raw (loc, m));
  	}
      }
!   /* TYPE_DECLs in TYPE_FIELDS come after other decls, so for members_of
!      the declaration order is not preserved.  */
    if (kind == METAFN_MEMBERS_OF && elts)
      elts->qsort (members_cmp);
    if (kind == METAFN_MEMBERS_OF && !implicitly_declared.is_empty ())
--- 6621,6629 ----
  				  get_reflection_raw (loc, m));
  	}
      }
!   /* TYPE_DECLs in TYPE_FIELDS come after other decls due to the "struct
!      stat hack" (see finish_member_declaration), so for members_of the
!      declaration order is not preserved.  */
    if (kind == METAFN_MEMBERS_OF && elts)
      elts->qsort (members_cmp);
    if (kind == METAFN_MEMBERS_OF && !implicitly_declared.is_empty ())
*************** compare_reflections (tree lhs, tree rhs)
*** 8227,8234 ****
       the RHS will be OVERLOAD<TEMPLATE_DECL> but the LHS will
       only be TEMPLATE_DECL.  They should compare equal, though.  */
    // ??? Can we do something better?
!   lhs = maybe_get_reflection_fndecl (lhs);
!   rhs = maybe_get_reflection_fndecl (rhs);
    if (lkind == REFLECT_PARM)
      {
        lhs = maybe_update_function_parm (lhs);
--- 8219,8226 ----
       the RHS will be OVERLOAD<TEMPLATE_DECL> but the LHS will
       only be TEMPLATE_DECL.  They should compare equal, though.  */
    // ??? Can we do something better?
!   lhs = maybe_get_first_fn (lhs);
!   rhs = maybe_get_first_fn (rhs);
    if (lkind == REFLECT_PARM)
      {
        lhs = maybe_update_function_parm (lhs);
*************** reflection_mangle_prefix (tree refl, cha
*** 8505,8511 ****
    if (eval_is_function (h) == boolean_true_node)
      {
        strcpy (prefix, "fn");
!       return maybe_get_reflection_fndecl (h);
      }
    if (eval_is_function_parameter (h, kind) == boolean_true_node)
      {
--- 8497,8503 ----
    if (eval_is_function (h) == boolean_true_node)
      {
        strcpy (prefix, "fn");
!       return maybe_get_first_fn (h);
      }
    if (eval_is_function_parameter (h, kind) == boolean_true_node)
      {
*************** reflection_mangle_prefix (tree refl, cha
*** 8553,8559 ****
    if (eval_is_function_template (h) == boolean_true_node)
      {
        strcpy (prefix, "ft");
!       h = maybe_get_reflection_fndecl (h);
        return h;
      }
    if (eval_is_variable_template (h) == boolean_true_node)
--- 8545,8551 ----
    if (eval_is_function_template (h) == boolean_true_node)
      {
        strcpy (prefix, "ft");
!       h = maybe_get_first_fn (h);
        return h;
      }
    if (eval_is_variable_template (h) == boolean_true_node)
diff -Nrcpad gcc-16-20260118/gcc/cp/semantics.cc gcc-16-20260125/gcc/cp/semantics.cc
*** gcc-16-20260118/gcc/cp/semantics.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/cp/semantics.cc	Sun Jan 25 22:32:07 2026
*************** finish_decltype_type (tree expr, bool id
*** 13062,13073 ****
  	{
  	  if (ptds.saved)
  	    {
! 	      gcc_checking_assert (DECL_HAS_VALUE_EXPR_P (expr));
  	      /* DECL_HAS_VALUE_EXPR_P is always set if
! 		 processing_template_decl.  If lookup_decomp_type
  		 returns non-NULL, it is the tuple case.  */
  	      if (tree ret = lookup_decomp_type (expr))
  		return ret;
  	    }
  	  if (DECL_HAS_VALUE_EXPR_P (expr))
  	    /* Expr is an array or struct subobject proxy, handle
--- 13062,13077 ----
  	{
  	  if (ptds.saved)
  	    {
! 	      gcc_checking_assert (DECL_HAS_VALUE_EXPR_P (expr)
! 				   || (DECL_CONTEXT (expr)
! 				       != current_function_decl));
  	      /* DECL_HAS_VALUE_EXPR_P is always set if
! 		 processing_template_decl at least for structured bindings
! 		 within the template.  If lookup_decomp_type
  		 returns non-NULL, it is the tuple case.  */
  	      if (tree ret = lookup_decomp_type (expr))
  		return ret;
+ 	      gcc_checking_assert (DECL_HAS_VALUE_EXPR_P (expr));
  	    }
  	  if (DECL_HAS_VALUE_EXPR_P (expr))
  	    /* Expr is an array or struct subobject proxy, handle
diff -Nrcpad gcc-16-20260118/gcc/cp/tree.cc gcc-16-20260125/gcc/cp/tree.cc
*** gcc-16-20260118/gcc/cp/tree.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/cp/tree.cc	Sun Jan 25 22:32:07 2026
*************** maybe_get_fns (tree from)
*** 2782,2788 ****
    if (OVL_P (from))
      return from;
  
!   return NULL;
  }
  
  /* FROM refers to an overload set.  Return that set (or die).  */
--- 2782,2788 ----
    if (OVL_P (from))
      return from;
  
!   return NULL_TREE;
  }
  
  /* FROM refers to an overload set.  Return that set (or die).  */
*************** get_first_fn (tree from)
*** 2804,2809 ****
--- 2804,2820 ----
    return OVL_FIRST (get_fns (from));
  }
  
+ /* Return the first function of the overload set FROM refers to if
+    there is an overload set, otherwise return FROM unchanged.  */
+ 
+ tree
+ maybe_get_first_fn (tree from)
+ {
+   if (tree res = maybe_get_fns (from))
+     return OVL_FIRST (res);
+   return from;
+ }
+ 
  /* Return the scope where the overloaded functions OVL were found.  */
  
  tree
*************** build_min_non_dep_op_overload (enum tree
*** 3849,3855 ****
  
  	  if (TREE_CODE (non_dep) != CALL_EXPR)
  	    {
! 	      gcc_checking_assert (COMPARISON_CLASS_P (non_dep));
  	      if (reversed)
  		std::swap (op0, op1);
  	      return build_min_non_dep (TREE_CODE (non_dep), non_dep, op0, op1);
--- 3860,3867 ----
  
  	  if (TREE_CODE (non_dep) != CALL_EXPR)
  	    {
! 	      gcc_checking_assert (COMPARISON_CLASS_P (non_dep)
! 				   || TREE_CODE (non_dep) == SPACESHIP_EXPR);
  	      if (reversed)
  		std::swap (op0, op1);
  	      return build_min_non_dep (TREE_CODE (non_dep), non_dep, op0, op1);
*************** handle_annotation_attribute (tree *node,
*** 5944,5954 ****
  	{
  	  tree arg = make_tree_vec (1);
  	  tree type = TREE_TYPE (TREE_VALUE (args));
- 	  tree ctype
- 	    = cp_build_qualified_type (type, cp_type_quals (type)
- 					     | TYPE_QUAL_CONST);
  	  TREE_VEC_ELT (arg, 0)
! 	    = cp_build_reference_type (ctype, /*rval=*/false);
  	  if (!is_xible (INIT_EXPR, type, arg))
  	    {
  	      auto_diagnostic_group d;
--- 5956,5964 ----
  	{
  	  tree arg = make_tree_vec (1);
  	  tree type = TREE_TYPE (TREE_VALUE (args));
  	  TREE_VEC_ELT (arg, 0)
! 	    = build_stub_type (type, cp_type_quals (type) | TYPE_QUAL_CONST,
! 			       /*rvalue=*/false);
  	  if (!is_xible (INIT_EXPR, type, arg))
  	    {
  	      auto_diagnostic_group d;
diff -Nrcpad gcc-16-20260118/gcc/diagnostics/context.cc gcc-16-20260125/gcc/diagnostics/context.cc
*** gcc-16-20260118/gcc/diagnostics/context.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/diagnostics/context.cc	Sun Jan 25 22:32:07 2026
*************** context::action_after_output (enum kind
*** 1003,1012 ****
  	/* Attempt to ensure that any outputs are flushed e.g. that .sarif
  	   files are written out.
  	   Only do it once.  */
! 	static bool finishing_due_to_ice = false;
! 	if (!finishing_due_to_ice)
  	  {
! 	    finishing_due_to_ice = true;
  	    finish ();
  	  }
  
--- 1003,1013 ----
  	/* Attempt to ensure that any outputs are flushed e.g. that .sarif
  	   files are written out.
  	   Only do it once.  */
! 	static char **saved_argv = nullptr;
! 	if (!saved_argv)
  	  {
! 	    saved_argv = m_original_argv;
! 	    m_original_argv = nullptr;
  	    finish ();
  	  }
  
*************** context::action_after_output (enum kind
*** 1021,1026 ****
--- 1022,1033 ----
  	if (m_abort_on_error)
  	  real_abort ();
  
+ 	bool space = false;
+ 	for (auto *argv = saved_argv; *argv; space = true)
+ 	  fnotice (stderr, &" %s"[1 - space], *argv++);
+ 	fnotice (stderr, "\n");
+ 	freeargv (saved_argv);
+ 
  	if (m_report_bug)
  	  fnotice (stderr, "Please submit a full bug report, "
  		   "with preprocessed source.\n");
diff -Nrcpad gcc-16-20260118/gcc/diagnostics/paths-output.cc gcc-16-20260125/gcc/diagnostics/paths-output.cc
*** gcc-16-20260118/gcc/diagnostics/paths-output.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/diagnostics/paths-output.cc	Sun Jan 25 22:32:07 2026
*************** along with GCC; see the file COPYING3.
*** 30,35 ****
--- 30,36 ----
  #include "diagnostics/paths.h"
  #include "gcc-rich-location.h"
  #include "diagnostics/color.h"
+ #include "diagnostics/file-cache.h"
  #include "diagnostics/event-id.h"
  #include "diagnostics/source-printing-effects.h"
  #include "pretty-print-markup.h"
*************** struct event_range
*** 616,633 ****
  	  }
        }
  
!     /* If we have an UNKNOWN_LOCATION (or BUILTINS_LOCATION) as the
!        primary location for an event, diagnostic_show_locus won't print
!        anything.
! 
!        In particular the label for the event won't get printed.
!        Fail more gracefully in this case by showing the event
!        index and text, at no particular location.  */
!     if (get_pure_location (initial_loc) <= BUILTINS_LOCATION)
        {
  	for (unsigned i = m_start_idx; i <= m_end_idx; i++)
  	  {
  	    const event &iter_event = m_path.get_event (i);
  	    diagnostic_event_id_t event_id (i);
  	    pp_printf (&pp, " %@: ", &event_id);
  	    iter_event.print_desc (pp);
--- 617,640 ----
  	  }
        }
  
!     /* Ideally we will print events as labelled ranges within the
!        quoted source.  But if there is no source, or we can't find it,
!        we need a fallback, or the events won't show up. Fail more
!        gracefully in this case by showing the event index and text.  */
!     if (!can_print_source_p (dc))
        {
  	for (unsigned i = m_start_idx; i <= m_end_idx; i++)
  	  {
  	    const event &iter_event = m_path.get_event (i);
+ 	    location_t event_loc = iter_event.get_location ();
+ 	    if (get_pure_location (event_loc) > BUILTINS_LOCATION)
+ 	      {
+ 		// TODO: this implicitly uses "line_table"
+ 		gcc_assert (line_table);
+ 		expanded_location exploc (expand_location (event_loc));
+ 
+ 		pp_string (&pp, text_output.get_location_text (exploc).get ());
+ 	      }
  	    diagnostic_event_id_t event_id (i);
  	    pp_printf (&pp, " %@: ", &event_id);
  	    iter_event.print_desc (pp);
*************** struct event_range
*** 674,698 ****
  	  }
        }
  
!     /* If we have an UNKNOWN_LOCATION (or BUILTINS_LOCATION) as the
!        primary location for an event, diagnostic_show_locus_as_html won't print
!        anything.
! 
!        In particular the label for the event won't get printed.
!        Fail more gracefully in this case by showing the event
!        index and text, at no particular location.  */
!     if (get_pure_location (initial_loc) <= BUILTINS_LOCATION)
        {
  	for (unsigned i = m_start_idx; i <= m_end_idx; i++)
  	  {
  	    const event &iter_event = m_path.get_event (i);
! 	    diagnostic_event_id_t event_id (i);
! 	    pretty_printer pp;
! 	    pp_printf (&pp, " %@: ", &event_id);
! 	    iter_event.print_desc (pp);
  	    if (event_label_writer)
  	      event_label_writer->begin_label ();
! 	    xp.add_text_from_pp (pp);
  	    if (event_label_writer)
  	      event_label_writer->end_label ();
  	  }
--- 681,726 ----
  	  }
        }
  
!     /* Ideally we will print events as labelled ranges within the
!        quoted source.  But if there is no source, or we can't find it,
!        we need a fallback, or the events won't show up. Fail more
!        gracefully in this case by showing the event index and text.  */
!     if (!can_print_source_p (dc))
        {
  	for (unsigned i = m_start_idx; i <= m_end_idx; i++)
  	  {
  	    const event &iter_event = m_path.get_event (i);
! 
! 	    xml::auto_print_element p (xp, "p");
! 
  	    if (event_label_writer)
  	      event_label_writer->begin_label ();
! 
! 	    location_t event_loc = iter_event.get_location ();
! 	    if (get_pure_location (event_loc) > BUILTINS_LOCATION)
! 	      {
! 		// TODO: this implicitly uses "line_table"
! 		gcc_assert (line_table);
! 		expanded_location exploc (expand_location (event_loc));
! 
! 		location_print_policy policy (dc);
! 		policy.print_html_span_start (dc, xp, exploc);
! 	      }
! 	    {
! 	      diagnostic_event_id_t event_id (i);
! 	      pretty_printer pp;
! 	      pp_printf (&pp, " %@: ", &event_id);
! 	      xp.push_tag_with_class ("span", "event-id");
! 	      xp.add_text_from_pp (pp);
! 	      xp.pop_tag ("span");
! 	    }
! 	    {
! 	      pretty_printer pp;
! 	      iter_event.print_desc (pp);
! 	      xp.push_tag_with_class ("span", "event-text");
! 	      xp.add_text_from_pp (pp);
! 	      xp.pop_tag ("span");
! 	    }
  	    if (event_label_writer)
  	      event_label_writer->end_label ();
  	  }
*************** struct event_range
*** 721,726 ****
--- 749,778 ----
    hash_map<int_hash<int, -1, -2>,
  	   per_source_line_info> m_source_line_info_map;
    bool m_show_event_links;
+ 
+ private:
+   /* Return true if we can print source code for the primary location
+      for the initial event.
+ 
+      If we can't then the labels won't be printed, and thus we'll have
+      to fall back to printing the events directly for them to be
+      printed.  */
+   bool can_print_source_p (diagnostics::context &dc) const
+   {
+     location_t initial_loc = m_initial_event.get_location ();
+     if (get_pure_location (initial_loc) <= BUILTINS_LOCATION)
+       return false;
+ 
+     // TODO: this implicitly uses "line_table"
+     expanded_location exploc (expand_location (initial_loc));
+ 
+     auto line_content
+       = dc.get_file_cache ().get_source_line (exploc.file, exploc.line);
+     if (!line_content)
+       return false;
+ 
+     return true;
+   }
  };
  
  /* A struct for grouping together the events in a path into
diff -Nrcpad gcc-16-20260118/gcc/doc/cppdiropts.texi gcc-16-20260125/gcc/doc/cppdiropts.texi
*** gcc-16-20260118/gcc/doc/cppdiropts.texi	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/doc/cppdiropts.texi	Sun Jan 25 22:32:07 2026
*************** information.
*** 165,170 ****
--- 165,175 ----
  Use @var{dir} as a subdirectory of the directory containing
  target-specific C++ headers.
  
+ @opindex imultiarch
+ @item -imultiarch @var{dir}
+ Use @var{dir} as a subdirectory of the directory containing
+ architecture-specific C++ headers.
+ 
  @opindex nostdinc
  @opindex no-standard-includes
  @item -nostdinc
diff -Nrcpad gcc-16-20260118/gcc/doc/cppopts.texi gcc-16-20260125/gcc/doc/cppopts.texi
*** gcc-16-20260118/gcc/doc/cppopts.texi	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/doc/cppopts.texi	Sun Jan 25 22:32:07 2026
*************** Like @option{-MD} except mention only us
*** 234,239 ****
--- 234,240 ----
  header files.
  
  @opindex fpreprocessed
+ @opindex fno-preprocessed
  @item -fpreprocessed
  Indicate to the preprocessor that the input file has already been
  preprocessed.  This suppresses things like macro expansion, trigraph
*************** extensions that GCC uses for preprocesse
*** 249,254 ****
--- 250,256 ----
  @option{-save-temps}.
  
  @opindex fdirectives-only
+ @opindex fno-directives-only
  @item -fdirectives-only
  When preprocessing, handle directives, but do not expand macros.
  
*************** With both @option{-E} and @option{-fprep
*** 271,276 ****
--- 273,279 ----
  files previously preprocessed with @code{-E -fdirectives-only}.
  
  @opindex fdollars-in-identifiers
+ @opindex fno-dollars-in-identifiers
  @item -fdollars-in-identifiers
  @anchor{fdollars-in-identifiers}
  Accept @samp{$} in identifiers.
*************** Accept @samp{$} in identifiers.
*** 279,284 ****
--- 282,288 ----
  @end ifset
  
  @opindex fextended-identifiers
+ @opindex fno-extended-identifiers
  @item -fextended-identifiers
  Accept universal character names and extended characters in
  identifiers.  This option is enabled by default for C99 (and later C
*************** When preprocessing, do not shorten syste
*** 294,299 ****
--- 298,304 ----
  Set the maximum depth of the nested #include. The default is 200. 
  
  @opindex fsearch-include-path
+ @opindex fno-search-include-path
  @item -fsearch-include-path@r{[}=@var{kind}@r{]}
  Look for input files on the #include path, not just the current
  directory.  This is particularly useful with C++20 modules, for which
*************** supported by the system's @code{iconv} l
*** 376,381 ****
--- 381,387 ----
  
  @ifclear cppmanual
  @opindex fpch-deps
+ @opindex fno-pch-deps
  @item -fpch-deps
  When using precompiled headers (@pxref{Precompiled Headers}), this flag
  causes the dependency-output flags to also list the files from the
*************** create it, because those files are not c
*** 385,390 ****
--- 391,397 ----
  header is used.
  
  @opindex fpch-preprocess
+ @opindex fno-pch-preprocess
  @item -fpch-preprocess
  This option allows use of a precompiled header (@pxref{Precompiled
  Headers}) together with @option{-E}.  It inserts a special @code{#pragma},
*************** undefined at the time.
*** 615,620 ****
--- 622,628 ----
  @end table
  
  @opindex fdebug-cpp
+ @opindex fno-debug-cpp
  @item -fdebug-cpp
  This option is only useful for debugging GCC.  When used from CPP or with
  @option{-E}, it dumps debugging information about location maps.  Every
diff -Nrcpad gcc-16-20260118/gcc/doc/cppwarnopts.texi gcc-16-20260125/gcc/doc/cppwarnopts.texi
*** gcc-16-20260118/gcc/doc/cppwarnopts.texi	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/doc/cppwarnopts.texi	Sun Jan 25 22:32:07 2026
***************
*** 10,16 ****
--- 10,18 ----
  @c formatted for inclusion in the CPP manual; otherwise the main GCC manual.
  
  @opindex Wcomment
+ @opindex Wno-comment
  @opindex Wcomments
+ @opindex Wno-comments
  @item -Wcomment
  @itemx -Wcomments
  Warn whenever a comment-start sequence @samp{/*} appears in a @samp{/*}
*************** comment, or whenever a backslash-newline
*** 18,23 ****
--- 20,26 ----
  This warning is enabled by @option{-Wall}.
  
  @opindex Wtrigraphs
+ @opindex Wno-trigraphs
  @item -Wtrigraphs
  @anchor{Wtrigraphs}
  Warn if any trigraphs are encountered that might change the meaning of
*************** Warn if an undefined identifier is evalu
*** 36,41 ****
--- 39,45 ----
  Such identifiers are replaced with zero.
  
  @opindex Wexpansion-to-defined
+ @opindex Wno-expansion-to-defined
  @item -Wexpansion-to-defined
  Warn whenever @samp{defined} is encountered in the expansion of a macro
  (including the case where the macro is expanded by an @samp{#if} directive).
*************** Such usage is not portable.
*** 43,48 ****
--- 47,53 ----
  This warning is also enabled by @option{-Wpedantic} and @option{-Wextra}.
  
  @opindex Wunused-macros
+ @opindex Wno-unused-macros
  @item -Wunused-macros
  Warn about macros defined in the main file that are unused.  A macro
  is @dfn{used} if it is expanded or tested for existence at least once.
diff -Nrcpad gcc-16-20260118/gcc/doc/extend.texi gcc-16-20260125/gcc/doc/extend.texi
*** gcc-16-20260118/gcc/doc/extend.texi	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/doc/extend.texi	Sun Jan 25 22:32:07 2026
*************** GNU Offloading and Multi Processing Runt
*** 11133,11139 ****
  for more details about currently supported OpenMP features.
  
  To enable the processing of OpenMP directives @samp{#pragma omp},
! @samp{[[omp::directive(...)]]}, @samp{[[omp::decl(...)]]},
  and @samp{[[omp::sequence(...)]]} in C and C++,
  GCC needs to be invoked with the @option{-fopenmp} option.
  This option also arranges for automatic linking of the OpenMP
--- 11133,11139 ----
  for more details about currently supported OpenMP features.
  
  To enable the processing of OpenMP directives @samp{#pragma omp},
! @samp{[[omp::decl(...)]]}, @samp{[[omp::directive(...)]]},
  and @samp{[[omp::sequence(...)]]} in C and C++,
  GCC needs to be invoked with the @option{-fopenmp} option.
  This option also arranges for automatic linking of the OpenMP
diff -Nrcpad gcc-16-20260118/gcc/doc/install.texi gcc-16-20260125/gcc/doc/install.texi
*** gcc-16-20260118/gcc/doc/install.texi	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/doc/install.texi	Sun Jan 25 22:32:07 2026
*************** specifying a @code{--with-multilib-list=
*** 4165,4173 ****
  devices, while LLVM 15 is required for GFX 11 device and @code{gfx1036}.
  At least LLVM 16 is required for @code{gfx1150} and @code{gfx1151},
  LLVM 18 for @code{gfx942}, LLVM 19 for the generic @code{gfx9-generic},
! @code{gfx9-4-generic}, @code{gfx10-3-generic}, and @code{gfx11-generic}
! targets and for @code{gfx1152}, while LLVM 20 is required for
! @code{gfx950} and @code{gfx1153}.
  
  The supported ISA architectures are listed in the GCC manual. The generic
  ISA targets @code{gfx9-generic}, @code{gfx10-3-generic}, and
--- 4165,4173 ----
  devices, while LLVM 15 is required for GFX 11 device and @code{gfx1036}.
  At least LLVM 16 is required for @code{gfx1150} and @code{gfx1151},
  LLVM 18 for @code{gfx942}, LLVM 19 for the generic @code{gfx9-generic},
! @code{gfx10-3-generic}, and @code{gfx11-generic} targets and for @code{gfx1152},
! while LLVM 20 is required for @code{gfx950}, @code{gfx1153}, and
! @code{gfx9-4-generic}.
  
  The supported ISA architectures are listed in the GCC manual. The generic
  ISA targets @code{gfx9-generic}, @code{gfx10-3-generic}, and
diff -Nrcpad gcc-16-20260118/gcc/doc/invoke.texi gcc-16-20260125/gcc/doc/invoke.texi
*** gcc-16-20260118/gcc/doc/invoke.texi	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/doc/invoke.texi	Sun Jan 25 22:32:07 2026
*************** in the following sections.
*** 217,223 ****
  @item C++ Language Options
  @xref{C++ Dialect Options,,Options Controlling C++ Dialect}.
  @gccoptlist{--compile-std-module
! -fabi-compat-version=@var{n} -fabi-version=@var{n}
  -fno-access-control  -faligned-new=@r{[}@var{n}@r{]}
  -fno-assume-sane-operators-new-delete
  -fchar8_t  -fcheck-new
--- 217,223 ----
  @item C++ Language Options
  @xref{C++ Dialect Options,,Options Controlling C++ Dialect}.
  @gccoptlist{--compile-std-module
! -fabi-compat-version=@var{n}  -fabi-version=@var{n}
  -fno-access-control  -faligned-new=@r{[}@var{n}@r{]}
  -fno-assume-sane-operators-new-delete
  -fchar8_t  -fcheck-new
*************** Objective-C and Objective-C++ Dialects}.
*** 318,324 ****
  -fzero-link
  -gen-decls
  -Wassign-intercept  -Wno-property-assign-default
! -Wno-protocol -Wobjc-root-class -Wselector
  -Wstrict-selector-match
  -Wundeclared-selector}
  
--- 318,324 ----
  -fzero-link
  -gen-decls
  -Wassign-intercept  -Wno-property-assign-default
! -Wno-protocol  -Wobjc-root-class  -Wselector
  -Wstrict-selector-match
  -Wundeclared-selector}
  
*************** Objective-C and Objective-C++ Dialects}.
*** 363,369 ****
  @item Warning Options
  @xref{Warning Options,,Options to Request or Suppress Warnings}.
  @gccoptlist{-fsyntax-only  -fmax-errors=@var{n}  -Wpedantic
! -pedantic-errors -fpermissive
  -w  -Wextra  -Wall  -Wabi=@var{n}
  -Waddress  -Wno-address-of-packed-member  -Waggregate-return
  -Walloc-size  -Walloc-size-larger-than=@var{byte-size}  -Walloc-zero
--- 363,369 ----
  @item Warning Options
  @xref{Warning Options,,Options to Request or Suppress Warnings}.
  @gccoptlist{-fsyntax-only  -fmax-errors=@var{n}  -Wpedantic
! -pedantic-errors  -fpermissive
  -w  -Wextra  -Wall  -Wabi=@var{n}
  -Waddress  -Wno-address-of-packed-member  -Waggregate-return
  -Walloc-size  -Walloc-size-larger-than=@var{byte-size}  -Walloc-zero
*************** Objective-C and Objective-C++ Dialects}.
*** 372,378 ****
  -Warith-conversion
  -Warray-bounds  -Warray-bounds=@var{n}  -Warray-compare
  -Warray-parameter  -Warray-parameter=@var{n}
! -Wno-attributes  -Wattribute-alias=@var{n} -Wno-attribute-alias
  -Wno-attribute-warning
  -Wbidi-chars=@r{[}none@r{|}unpaired@r{|}any@r{|}ucn@r{]}
  -Wbool-compare  -Wbool-operation
--- 372,378 ----
  -Warith-conversion
  -Warray-bounds  -Warray-bounds=@var{n}  -Warray-compare
  -Warray-parameter  -Warray-parameter=@var{n}
! -Wno-attributes  -Wattribute-alias=@var{n}  -Wno-attribute-alias
  -Wno-attribute-warning
  -Wbidi-chars=@r{[}none@r{|}unpaired@r{|}any@r{|}ucn@r{]}
  -Wbool-compare  -Wbool-operation
*************** Objective-C and Objective-C++ Dialects}.
*** 381,387 ****
  -Wc11-c23-compat  -Wc23-c2y-compat
  -Wc++-compat  -Wc++11-compat  -Wc++14-compat  -Wc++17-compat
  -Wc++20-compat  -Wc++26-compat
! -Wno-c++11-extensions  -Wno-c++14-extensions -Wno-c++17-extensions
  -Wno-c++20-extensions  -Wno-c++23-extensions
  -Wcalloc-transposed-args  -Wcannot-profile
  -Wcast-align  -Wcast-align=strict  -Wcast-function-type  -Wcast-qual
--- 381,387 ----
  -Wc11-c23-compat  -Wc23-c2y-compat
  -Wc++-compat  -Wc++11-compat  -Wc++14-compat  -Wc++17-compat
  -Wc++20-compat  -Wc++26-compat
! -Wno-c++11-extensions  -Wno-c++14-extensions  -Wno-c++17-extensions
  -Wno-c++20-extensions  -Wno-c++23-extensions
  -Wcalloc-transposed-args  -Wcannot-profile
  -Wcast-align  -Wcast-align=strict  -Wcast-function-type  -Wcast-qual
*************** Objective-C and Objective-C++ Dialects}.
*** 429,435 ****
  -Wnormalized=@r{[}none@r{|}id@r{|}nfc@r{|}nfkc@r{]}
  -Wnull-dereference  -Wno-odr
  -Wopenacc-parallelism
! -Wopenmp -Wopenmp-simd
  -Wno-overflow  -Woverlength-strings  -Wno-override-init-side-effects
  -Wpacked  -Wno-packed-bitfield-compat  -Wpacked-not-aligned  -Wpadded
  -Wparentheses  -Wno-pedantic-ms-format
--- 429,435 ----
  -Wnormalized=@r{[}none@r{|}id@r{|}nfc@r{|}nfkc@r{]}
  -Wnull-dereference  -Wno-odr
  -Wopenacc-parallelism
! -Wopenmp  -Wopenmp-simd
  -Wno-overflow  -Woverlength-strings  -Wno-override-init-side-effects
  -Wpacked  -Wno-packed-bitfield-compat  -Wpacked-not-aligned  -Wpadded
  -Wparentheses  -Wno-pedantic-ms-format
*************** Objective-C and Objective-C++ Dialects}.
*** 441,448 ****
  -Wno-scalar-storage-order  -Wsequence-point
  -Wshadow  -Wshadow=global  -Wshadow=local  -Wshadow=compatible-local
  -Wno-shadow-ivar
! -Wno-shift-count-negative  -Wno-shift-count-overflow  -Wshift-negative-value
! -Wno-shift-overflow  -Wshift-overflow=@var{n}
  -Wsign-compare  -Wsign-conversion
  -Wno-sizeof-array-argument
  -Wsizeof-array-div
--- 441,448 ----
  -Wno-scalar-storage-order  -Wsequence-point
  -Wshadow  -Wshadow=global  -Wshadow=local  -Wshadow=compatible-local
  -Wno-shadow-ivar
! -Wno-shift-count-negative  -Wno-shift-count-overflow
! -Wshift-negative-value  -Wno-shift-overflow  -Wshift-overflow=@var{n}
  -Wsign-compare  -Wsign-conversion
  -Wno-sizeof-array-argument
  -Wsizeof-array-div
*************** Objective-C and Objective-C++ Dialects}.
*** 450,456 ****
  -Wstack-protector  -Wstack-usage=@var{byte-size}  -Wstrict-aliasing
  -Wstrict-aliasing=@var{n}  -Wstrict-overflow  -Wstrict-overflow=@var{n}
  -Wstring-compare
! -Wno-stringop-overflow -Wno-stringop-overread
  -Wno-stringop-truncation  -Wstrict-flex-arrays
  -Wsuggest-attribute=@var{attribute-name}
  -Wswitch  -Wno-switch-bool  -Wswitch-default  -Wswitch-enum
--- 450,456 ----
  -Wstack-protector  -Wstack-usage=@var{byte-size}  -Wstrict-aliasing
  -Wstrict-aliasing=@var{n}  -Wstrict-overflow  -Wstrict-overflow=@var{n}
  -Wstring-compare
! -Wno-stringop-overflow  -Wno-stringop-overread
  -Wno-stringop-truncation  -Wstrict-flex-arrays
  -Wsuggest-attribute=@var{attribute-name}
  -Wswitch  -Wno-switch-bool  -Wswitch-default  -Wswitch-enum
*************** Objective-C and Objective-C++ Dialects}.
*** 562,593 ****
  }
  
  @item C and Objective-C-only Warning Options
! @gccoptlist{-Wbad-function-cast -Wdeprecated-non-prototype -Wfree-labels
! -Wmissing-declarations -Wmissing-parameter-name -Wmissing-parameter-type
! -Wdeclaration-missing-parameter-type -Wmissing-prototypes
  -Wmissing-variable-declarations
  -Wmultiple-parameter-fwd-decl-lists
! -Wnested-externs -Wold-style-declaration
! -Wold-style-definition -Wstrict-prototypes -Wtraditional
! -Wtraditional-conversion -Wdeclaration-after-statement -Wpointer-sign}
  
  @item Debugging Options
  @xref{Debugging Options,,Options for Debugging Your Program}.
  @gccoptlist{-g  -g@var{level}  -gdwarf  -gdwarf-@var{version}
! -gbtf -gctf  -gctf@var{level}
! -gprune-btf -gno-prune-btf
! -ggdb  -grecord-gcc-switches  -gno-record-gcc-switches
! -gstrict-dwarf  -gno-strict-dwarf
! -gas-loc-support  -gno-as-loc-support
! -gas-locview-support  -gno-as-locview-support
! -gcodeview
! -gcolumn-info  -gno-column-info  -gdwarf32  -gdwarf64
! -gstatement-frontiers  -gno-statement-frontiers
! -gvariable-location-views  -gno-variable-location-views
! -ginternal-reset-location-views  -gno-internal-reset-location-views
! -ginline-points  -gno-inline-points
! -gvms -gz@r{[}=@var{type}@r{]}
! -gsplit-dwarf  -gdescribe-dies  -gno-describe-dies
  -fdebug-prefix-map=@var{old}=@var{new}  -fdebug-types-section
  -fno-eliminate-unused-debug-types
  -femit-struct-debug-baseonly  -femit-struct-debug-reduced
--- 562,588 ----
  }
  
  @item C and Objective-C-only Warning Options
! @gccoptlist{-Wbad-function-cast  -Wdeprecated-non-prototype  -Wfree-labels
! -Wmissing-declarations  -Wmissing-parameter-name  -Wmissing-parameter-type
! -Wdeclaration-missing-parameter-type  -Wmissing-prototypes
  -Wmissing-variable-declarations
  -Wmultiple-parameter-fwd-decl-lists
! -Wnested-externs  -Wold-style-declaration
! -Wold-style-definition  -Wstrict-prototypes  -Wtraditional
! -Wtraditional-conversion  -Wdeclaration-after-statement  -Wpointer-sign}
  
  @item Debugging Options
  @xref{Debugging Options,,Options for Debugging Your Program}.
  @gccoptlist{-g  -g@var{level}  -gdwarf  -gdwarf-@var{version}
! -gbtf  -gctf  -gctf@var{level}
! -gno-prune-btf  -ggdb  -gno-record-gcc-switches
! -gstrict-dwarf  -gas-loc-support  -gas-locview-support
! -gcodeview  -gcolumn-info  -gdwarf32  -gdwarf64
! -gno-statement-frontiers
! -gno-variable-location-views  -gvariable-location-views=incompat5
! -ginternal-reset-location-views  -ginline-points
! -gvms  -gz@r{[}=@var{type}@r{]}
! -gsplit-dwarf  -gdescribe-dies
  -fdebug-prefix-map=@var{old}=@var{new}  -fdebug-types-section
  -fno-eliminate-unused-debug-types
  -femit-struct-debug-baseonly  -femit-struct-debug-reduced
*************** Objective-C and Objective-C++ Dialects}.
*** 605,613 ****
  -falign-labels[=@var{n}[:@var{m}:[@var{n2}[:@var{m2}]]]]
  -falign-loops[=@var{n}[:@var{m}:[@var{n2}[:@var{m2}]]]]
  -fmin-function-alignment=[@var{n}]
! -fno-allocation-dce -fallow-store-data-races
  -fassociative-math  -fauto-profile  -fauto-profile[=@var{path}]
! -fauto-profile-inlining -fauto-inc-dec  -fbranch-probabilities
  -fcaller-saves
  -fcombine-stack-adjustments  -fconserve-stack
  -ffold-mem-offsets
--- 600,608 ----
  -falign-labels[=@var{n}[:@var{m}:[@var{n2}[:@var{m2}]]]]
  -falign-loops[=@var{n}[:@var{m}:[@var{n2}[:@var{m2}]]]]
  -fmin-function-alignment=[@var{n}]
! -fno-allocation-dce  -fallow-store-data-races
  -fassociative-math  -fauto-profile  -fauto-profile[=@var{path}]
! -fauto-profile-inlining  -fauto-inc-dec  -fbranch-probabilities
  -fcaller-saves
  -fcombine-stack-adjustments  -fconserve-stack
  -ffold-mem-offsets
*************** Objective-C and Objective-C++ Dialects}.
*** 615,641 ****
  -fcse-follow-jumps  -fcse-skip-blocks  -fcx-fortran-rules
  -fcx-limited-range -fcx-method
  -fdata-sections  -fdce  -fdelayed-branch
! -fdelete-null-pointer-checks  -fdep-fusion -fdevirtualize
  -fdevirtualize-speculatively  -fdevirtualize-at-ltrans  -fdse
  -fearly-inlining  -fexcess-precision=@var{style}
  -fexpensive-optimizations  -fext-dce
  -ffast-math  -ffat-lto-objects  -ffinite-loops
  -ffinite-math-only  -ffloat-store
  -fforward-propagate  -ffp-contract=@var{style}  -ffp-int-builtin-inexact
! -ffunction-sections -ffuse-ops-with-volatile-access
  -fgcse  -fgcse-after-reload  -fgcse-las  -fgcse-lm  -fgraphite-identity
  -fgcse-sm  -fhoist-adjacent-loads  -fif-conversion
  -fif-conversion2  -findirect-inlining
  -finline-atomics  -finline-functions  -finline-functions-called-once
  -finline-limit=@var{n}  -finline-small-functions
  -finline-stringops@r{[}=@var{fn}@r{]}
! -fipa-modref -fipa-cp  -fipa-cp-clone
  -fipa-bit-cp  -fipa-vrp  -fipa-pta  -fipa-profile  -fipa-pure-const
! -fipa-reference  -fipa-reference-addressable -fipa-reorder-for-locality
  -fipa-sra  -fipa-stack-alignment
  -fipa-icf  -fipa-icf-functions  -fipa-icf-variables
  -fira-algorithm=@var{algorithm}
! -flate-combine-instructions -flifetime-dse -flive-patching=@var{level}
  -fira-region=@var{region}  -fira-hoist-pressure
  -fira-loop-pressure  -fno-ira-share-save-slots
  -fno-ira-share-spill-slots
--- 610,636 ----
  -fcse-follow-jumps  -fcse-skip-blocks  -fcx-fortran-rules
  -fcx-limited-range -fcx-method
  -fdata-sections  -fdce  -fdelayed-branch
! -fdelete-null-pointer-checks  -fdep-fusion  -fdevirtualize
  -fdevirtualize-speculatively  -fdevirtualize-at-ltrans  -fdse
  -fearly-inlining  -fexcess-precision=@var{style}
  -fexpensive-optimizations  -fext-dce
  -ffast-math  -ffat-lto-objects  -ffinite-loops
  -ffinite-math-only  -ffloat-store
  -fforward-propagate  -ffp-contract=@var{style}  -ffp-int-builtin-inexact
! -ffunction-sections  -ffuse-ops-with-volatile-access
  -fgcse  -fgcse-after-reload  -fgcse-las  -fgcse-lm  -fgraphite-identity
  -fgcse-sm  -fhoist-adjacent-loads  -fif-conversion
  -fif-conversion2  -findirect-inlining
  -finline-atomics  -finline-functions  -finline-functions-called-once
  -finline-limit=@var{n}  -finline-small-functions
  -finline-stringops@r{[}=@var{fn}@r{]}
! -fipa-modref  -fipa-cp  -fipa-cp-clone
  -fipa-bit-cp  -fipa-vrp  -fipa-pta  -fipa-profile  -fipa-pure-const
! -fipa-reference  -fipa-reference-addressable  -fipa-reorder-for-locality
  -fipa-sra  -fipa-stack-alignment
  -fipa-icf  -fipa-icf-functions  -fipa-icf-variables
  -fira-algorithm=@var{algorithm}
! -flate-combine-instructions  -flifetime-dse  -flive-patching=@var{level}
  -fira-region=@var{region}  -fira-hoist-pressure
  -fira-loop-pressure  -fno-ira-share-save-slots
  -fno-ira-share-spill-slots
*************** Objective-C and Objective-C++ Dialects}.
*** 644,652 ****
  -fkeep-static-consts  -flimit-function-alignment  -flive-range-shrinkage
  -floop-block  -floop-interchange  -floop-strip-mine
  -floop-unroll-and-jam  -floop-nest-optimize
! -floop-parallelize-all  -flra-remat  -flto  -flto-compression-level
! -flto-partition=@var{alg} -flto-incremental=@var{path}
! -flto-incremental-cache-size=@var{n} -fmalloc-dce -fmerge-all-constants
  -fmerge-constants  -fmodulo-sched  -fmodulo-sched-allow-regmoves
  -fmove-loop-invariants  -fmove-loop-stores  -fno-branch-count-reg
  -fno-defer-pop  -fno-function-cse
--- 639,648 ----
  -fkeep-static-consts  -flimit-function-alignment  -flive-range-shrinkage
  -floop-block  -floop-interchange  -floop-strip-mine
  -floop-unroll-and-jam  -floop-nest-optimize
! -floop-parallelize-all  -flra-remat  -flto  -flto-compression-level=@var{n}
! -flto-toplevel-asm-heuristics
! -flto-partition=@var{alg}  -flto-incremental=@var{path}
! -flto-incremental-cache-size=@var{n}  -fmalloc-dce  -fmerge-all-constants
  -fmerge-constants  -fmodulo-sched  -fmodulo-sched-allow-regmoves
  -fmove-loop-invariants  -fmove-loop-stores  -fno-branch-count-reg
  -fno-defer-pop  -fno-function-cse
*************** Objective-C and Objective-C++ Dialects}.
*** 658,665 ****
  -fpartial-inlining  -fpeel-loops  -fpredictive-commoning
  -fprefetch-loop-arrays
  -fprofile-correction
! -fprofile-use  -fprofile-use=@var{path} -fprofile-partial-training
! -fprofile-values -fprofile-reorder-functions
  -freciprocal-math  -free  -frename-registers  -freorder-blocks
  -freorder-blocks-algorithm=@var{algorithm}
  -freorder-blocks-and-partition  -freorder-functions
--- 654,661 ----
  -fpartial-inlining  -fpeel-loops  -fpredictive-commoning
  -fprefetch-loop-arrays
  -fprofile-correction
! -fprofile-use  -fprofile-use=@var{path}  -fprofile-partial-training
! -fprofile-values  -fprofile-reorder-functions
  -freciprocal-math  -free  -frename-registers  -freorder-blocks
  -freorder-blocks-algorithm=@var{algorithm}
  -freorder-blocks-and-partition  -freorder-functions
*************** Objective-C and Objective-C++ Dialects}.
*** 693,702 ****
  -ftree-reassoc  -ftree-scev-cprop  -ftree-sink  -ftree-slsr  -ftree-sra
  -ftree-switch-conversion  -ftree-tail-merge
  -ftree-ter  -ftree-vectorize  -ftree-vrp  -ftrivial-auto-var-init
! -funconstrained-commons -funit-at-a-time  -funroll-all-loops
! -funroll-loops -funsafe-math-optimizations  -funswitch-loops
  -fipa-ra  -fvariable-expansion-in-unroller  -fvect-cost-model  -fvpt
! -fweb  -fwhole-program  -fwpa  -fuse-linker-plugin -fzero-call-used-regs
  --param @var{name}=@var{value}
  -O  -O0  -O1  -O2  -O3  -Os  -Ofast  -Og  -Oz  --optimize}
  
--- 689,698 ----
  -ftree-reassoc  -ftree-scev-cprop  -ftree-sink  -ftree-slsr  -ftree-sra
  -ftree-switch-conversion  -ftree-tail-merge
  -ftree-ter  -ftree-vectorize  -ftree-vrp  -ftrivial-auto-var-init
! -funconstrained-commons  -funit-at-a-time  -funroll-all-loops
! -funroll-loops  -funsafe-math-optimizations  -funswitch-loops
  -fipa-ra  -fvariable-expansion-in-unroller  -fvect-cost-model  -fvpt
! -fweb  -fwhole-program  -fwpa  -fuse-linker-plugin  -fzero-call-used-regs
  --param @var{name}=@var{value}
  -O  -O0  -O1  -O2  -O3  -Os  -Ofast  -Og  -Oz  --optimize}
  
*************** Objective-C and Objective-C++ Dialects}.
*** 708,723 ****
  -fprofile  -fprofile-abs-path
  -fprofile-dir=@var{path}  -fprofile-generate  -fprofile-generate=@var{path}
  -fprofile-info-section  -fprofile-info-section=@var{name}
! -fprofile-note=@var{path} -fprofile-prefix-path=@var{path}
! -fprofile-update=@var{method} -fprofile-filter-files=@var{regex}
  -fprofile-exclude-files=@var{regex}
  -fprofile-reproducible=@r{[}multithreaded@r{|}parallel-runs@r{|}serial@r{]}
  -fsanitize=@var{style}  -fsanitize-recover  -fsanitize-recover=@var{style}
  -fsanitize-trap   -fsanitize-trap=@var{style}
  -fasan-shadow-offset=@var{number}  -fsanitize-sections=@var{s1},@var{s2},...
! -fsanitize-undefined-trap-on-error  -fbounds-check  -fcf-protection
  -fcf-protection=@r{[}full@r{|}branch@r{|}return@r{|}none@r{|}check@r{]}
! -fharden-compares -fharden-conditional-branches  -fhardened
  -fharden-control-flow-redundancy  -fhardcfr-skip-leaf
  -fhardcfr-check-exceptions  -fhardcfr-check-returning-calls
  -fhardcfr-check-noreturn-calls=@r{[}always@r{|}no-xthrow@r{|}nothrow@r{|}never@r{]}
--- 704,719 ----
  -fprofile  -fprofile-abs-path
  -fprofile-dir=@var{path}  -fprofile-generate  -fprofile-generate=@var{path}
  -fprofile-info-section  -fprofile-info-section=@var{name}
! -fprofile-note=@var{path}  -fprofile-prefix-path=@var{path}
! -fprofile-update=@var{method}  -fprofile-filter-files=@var{regex}
  -fprofile-exclude-files=@var{regex}
  -fprofile-reproducible=@r{[}multithreaded@r{|}parallel-runs@r{|}serial@r{]}
  -fsanitize=@var{style}  -fsanitize-recover  -fsanitize-recover=@var{style}
  -fsanitize-trap   -fsanitize-trap=@var{style}
  -fasan-shadow-offset=@var{number}  -fsanitize-sections=@var{s1},@var{s2},...
! -fsanitize-undefined-trap-on-error  -fcf-protection
  -fcf-protection=@r{[}full@r{|}branch@r{|}return@r{|}none@r{|}check@r{]}
! -fharden-compares  -fharden-conditional-branches  -fhardened
  -fharden-control-flow-redundancy  -fhardcfr-skip-leaf
  -fhardcfr-check-exceptions  -fhardcfr-check-returning-calls
  -fhardcfr-check-noreturn-calls=@r{[}always@r{|}no-xthrow@r{|}nothrow@r{|}never@r{]}
*************** Objective-C and Objective-C++ Dialects}.
*** 743,749 ****
  -fdebug-cpp  -fdirectives-only  -fdollars-in-identifiers
  -fexec-charset=@var{charset}  -fextended-identifiers
  -finput-charset=@var{charset}
! -fmacro-prefix-map=@var{old}=@var{new} -fmax-include-depth=@var{depth}
  -fno-canonical-system-headers  -fpch-deps  -fpch-preprocess
  -fpreprocessed  -ftabstop=@var{width}  -ftrack-macro-expansion
  -fwide-exec-charset=@var{charset}  -fworking-directory
--- 739,745 ----
  -fdebug-cpp  -fdirectives-only  -fdollars-in-identifiers
  -fexec-charset=@var{charset}  -fextended-identifiers
  -finput-charset=@var{charset}
! -fmacro-prefix-map=@var{old}=@var{new}  -fmax-include-depth=@var{depth}
  -fno-canonical-system-headers  -fpch-deps  -fpch-preprocess
  -fpreprocessed  -ftabstop=@var{width}  -ftrack-macro-expansion
  -fwide-exec-charset=@var{charset}  -fworking-directory
*************** Objective-C and Objective-C++ Dialects}.
*** 771,777 ****
  
  @item Linker Options
  @xref{Link Options,,Options for Linking}.
! @gccoptlist{@var{object-file-name} -flink-libatomic  -fuse-ld=@var{linker}  -l@var{library}
  -nostartfiles  -nodefaultlibs  -nolibc  -nostdlib  -nostdlib++
  -e @var{entry}
  -pie  -pthread  -r  -rdynamic
--- 767,773 ----
  
  @item Linker Options
  @xref{Link Options,,Options for Linking}.
! @gccoptlist{@var{object-file-name}  -flink-libatomic  -fuse-ld=@var{linker}  -l@var{library}
  -nostartfiles  -nodefaultlibs  -nolibc  -nostdlib  -nostdlib++
  -e @var{entry}
  -pie  -pthread  -r  -rdynamic
*************** Objective-C and Objective-C++ Dialects}.
*** 790,796 ****
  @xref{Directory Options,,Options for Directory Search}.
  @gccoptlist{-B@var{prefix}  -I@var{dir}  -I-
  -idirafter @var{dir}
! -imacros @var{file}  -imultilib @var{dir}
  -iplugindir=@var{dir}  -iprefix @var{file}
  -iquote @var{dir}  -isysroot @var{dir}  -isystem @var{dir}
  -iwithprefix @var{dir}  -iwithprefixbefore @var{dir}
--- 786,792 ----
  @xref{Directory Options,,Options for Directory Search}.
  @gccoptlist{-B@var{prefix}  -I@var{dir}  -I-
  -idirafter @var{dir}
! -imacros @var{file}  -imultilib @var{dir}  -imultiarch @var{dir}
  -iplugindir=@var{dir}  -iprefix @var{file}
  -iquote @var{dir}  -isysroot @var{dir}  -isystem @var{dir}
  -iwithprefix @var{dir}  -iwithprefixbefore @var{dir}
*************** Objective-C and Objective-C++ Dialects}.
*** 807,813 ****
  @item Picolibc Options
  @xref{Picolibc Options,,Options for use with Picolibc}.
  @gccoptlist{--oslib=@var{library} --crt0=@r{[}none@r{|}minimal@r{|}hosted@r{|}semihost@r{]}
! --printf=@r{[}d@r{|}f@r{|}l@r{|}i@r{|}m@r{]} --scanf=@r{[}d@r{|}f@r{|}l@r{|}i@r{|}m@r{]}}
  
  @item Code Generation Options
  @xref{Code Gen Options,,Options for Code Generation Conventions}.
--- 803,809 ----
  @item Picolibc Options
  @xref{Picolibc Options,,Options for use with Picolibc}.
  @gccoptlist{--oslib=@var{library} --crt0=@r{[}none@r{|}minimal@r{|}hosted@r{|}semihost@r{]}
! --printf=@r{[}d@r{|}f@r{|}l@r{|}i@r{|}m@r{]}  --scanf=@r{[}d@r{|}f@r{|}l@r{|}i@r{|}m@r{]}}
  
  @item Code Generation Options
  @xref{Code Gen Options,,Options for Code Generation Conventions}.
*************** Objective-C and Objective-C++ Dialects}.
*** 818,831 ****
  -fno-gnu-unique
  -finhibit-size-directive  -fcommon  -fno-ident
  -fpcc-struct-return  -fpic  -fPIC  -fpie  -fPIE  -fno-plt
! -fno-jump-tables -fno-bit-tests
  -frecord-gcc-switches
  -freg-struct-return  -fshort-enums  -fshort-wchar
  -fverbose-asm  -fpack-struct[=@var{n}]
  -fleading-underscore  -ftls-model=@var{model}
  -fstack-reuse=@var{reuse_level}
! -ftrampolines -ftrampoline-impl=@r{[}stack@r{|}heap@r{]}
! -ftrapv  -fwrapv
  -fvisibility=@r{[}default@r{|}internal@r{|}hidden@r{|}protected@r{]}
  -fstrict-volatile-bitfields  -fsync-libcalls
  -fzero-init-padding-bits=@var{value}
--- 814,827 ----
  -fno-gnu-unique
  -finhibit-size-directive  -fcommon  -fno-ident
  -fpcc-struct-return  -fpic  -fPIC  -fpie  -fPIE  -fno-plt
! -fno-jump-tables  -fno-bit-tests
  -frecord-gcc-switches
  -freg-struct-return  -fshort-enums  -fshort-wchar
  -fverbose-asm  -fpack-struct[=@var{n}]
  -fleading-underscore  -ftls-model=@var{model}
  -fstack-reuse=@var{reuse_level}
! -ftrampolines  -ftrampoline-impl=@r{[}stack@r{|}heap@r{]}
! -ftrapv  -fwrapv  -fwrapv-pointer
  -fvisibility=@r{[}default@r{|}internal@r{|}hidden@r{|}protected@r{]}
  -fstrict-volatile-bitfields  -fsync-libcalls
  -fzero-init-padding-bits=@var{value}
*************** Objective-C and Objective-C++ Dialects}.
*** 922,928 ****
  -msplit-vecmove-early  -m1reg-@var{reg}}
  
  @emph{AMD GCN Options} (@ref{AMD GCN Options})
! @gccoptlist{-march=@var{gpu} -mtune=@var{gpu}
  -mgang-private-size=@var{bytes}
  -msram-ecc=@r{[}on@r{|}off@r{|}any@r{]}
  -mxnack=@r{[}on@r{|}off@r{|}any@r{]}
--- 918,924 ----
  -msplit-vecmove-early  -m1reg-@var{reg}}
  
  @emph{AMD GCN Options} (@ref{AMD GCN Options})
! @gccoptlist{-march=@var{gpu}  -mtune=@var{gpu}
  -mgang-private-size=@var{bytes}
  -msram-ecc=@r{[}on@r{|}off@r{|}any@r{]}
  -mxnack=@r{[}on@r{|}off@r{|}any@r{]}
*************** Objective-C and Objective-C++ Dialects}.
*** 939,944 ****
--- 935,941 ----
  -mlong-calls  -mmedium-calls  -msdata  -mirq-ctrl-saved
  -mrgf-banked-regs  -mlpc-width=@var{width}  -G @var{num}
  -mvolatile-cache  -mtp-regno=@var{regno}
+ -mbitops  -mcmem  -munaligned-access
  -mauto-modify-reg  -mno-brcc
  -mcase-vector-pcrel  -mno-cond-exec  -mearly-cbranchsi
  -mindexed-loads  -mlra-priority-none
*************** Objective-C and Objective-C++ Dialects}.
*** 982,988 ****
  -mstack-protector-guard=@var{guard}
  -mstack-protector-guard-offset=@var{offset}
  -mfdpic
! -mbranch-protection=@var{features}}
  
  @emph{AVR Options} (@ref{AVR Options})
  @gccoptlist{-mmcu=@var{mcu}  -mabsdata  -maccumulate-args  -mcvt
--- 979,986 ----
  -mstack-protector-guard=@var{guard}
  -mstack-protector-guard-offset=@var{offset}
  -mfdpic
! -mbranch-protection=@var{features}
! -mvectorize-with-neon-quad  -mvectorize-with-neon-double}
  
  @emph{AVR Options} (@ref{AVR Options})
  @gccoptlist{-mmcu=@var{mcu}  -mabsdata  -maccumulate-args  -mcvt
*************** Objective-C and Objective-C++ Dialects}.
*** 990,996 ****
  -mfuse-move2  -mcall-prologues  -mgas-isr-prologues  -mint8  -mflmap
  -mdouble=@var{bits}  -mlong-double=@var{bits}  -mno-call-main
  -mn_flash=@var{size}  -mfract-convert-truncate  -mno-interrupts
! -mmain-is-OS_task  -mrelax  -mrmw  -mstrict-X  -mtiny-stack
  -mrodata-in-ram  -msplit-bit-shift  -msplit-ldst  -mshort-calls
  -mskip-bug  -muse-nonzero-bits  -nodevicelib  -nodevicespecs
  -Waddr-space-convert  -Wmisspelled-isr}
--- 988,995 ----
  -mfuse-move2  -mcall-prologues  -mgas-isr-prologues  -mint8  -mflmap
  -mdouble=@var{bits}  -mlong-double=@var{bits}  -mno-call-main
  -mn_flash=@var{size}  -mfract-convert-truncate  -mno-interrupts
! -mmain-is-OS_task  -mrelax  -mpmem-wrap-around
! -mrmw  -mstrict-X  -mtiny-stack
  -mrodata-in-ram  -msplit-bit-shift  -msplit-ldst  -mshort-calls
  -mskip-bug  -muse-nonzero-bits  -nodevicelib  -nodevicespecs
  -Waddr-space-convert  -Wmisspelled-isr}
*************** Objective-C and Objective-C++ Dialects}.
*** 1008,1018 ****
  
  @emph{C6X Options} (@ref{C6X Options})
  @gccoptlist{-mbig-endian  -mlittle-endian  -march=@var{cpu}
! -msim  -msdata=@var{sdata-type} -mdsbt -mlong-calls}
  
  @emph{CRIS Options} (@ref{CRIS Options})
  @gccoptlist{-mcpu=@var{cpu}  -march=@var{cpu}
! -mtune=@var{cpu} -mmax-stack-frame=@var{n}
  -metrax4  -metrax100  -mpdebug  -mcc-init  -mno-side-effects
  -mstack-align  -mdata-align  -mconst-align
  -m32-bit  -m16-bit  -m8-bit  -mno-prologue-epilogue
--- 1007,1017 ----
  
  @emph{C6X Options} (@ref{C6X Options})
  @gccoptlist{-mbig-endian  -mlittle-endian  -march=@var{cpu}
! -msim  -msdata=@var{sdata-type}  -mdsbt  -mlong-calls}
  
  @emph{CRIS Options} (@ref{CRIS Options})
  @gccoptlist{-mcpu=@var{cpu}  -march=@var{cpu}
! -mtune=@var{cpu}  -mmax-stackframe=@var{n}
  -metrax4  -metrax100  -mpdebug  -mcc-init  -mno-side-effects
  -mstack-align  -mdata-align  -mconst-align
  -m32-bit  -m16-bit  -m8-bit  -mno-prologue-epilogue
*************** Objective-C and Objective-C++ Dialects}.
*** 1031,1043 ****
  -mdsp  -medsp  -mvdsp
  -mdiv  -msmart  -mhigh-registers  -manchor
  -mpushpop  -mmultiple-stld  -mconstpool  -mstack-size  -mccrt
! -mbranch-cost=@var{n}  -msched-prolog -msim}
  
  @emph{Cygwin and MinGW Options} (@ref{Cygwin and MinGW Options})
  @gccoptlist{-mconsole  -mcrtdll=@var{library}  -mdll
  -mnop-fun-dllimport  -mthreads
  -municode  -mwin32  -mwindows  -fno-set-stack-executable
! -fwritable-relocated-rdata  -mpe-aligned-commons}
  
  @emph{Darwin Options} (@ref{Darwin Options})
  @gccoptlist{-all_load  -allowable_client  -arch @var{name}
--- 1030,1043 ----
  -mdsp  -medsp  -mvdsp
  -mdiv  -msmart  -mhigh-registers  -manchor
  -mpushpop  -mmultiple-stld  -mconstpool  -mstack-size  -mccrt
! -mbranch-cost=@var{n}  -msched-prolog  -msim}
  
  @emph{Cygwin and MinGW Options} (@ref{Cygwin and MinGW Options})
  @gccoptlist{-mconsole  -mcrtdll=@var{library}  -mdll
  -mnop-fun-dllimport  -mthreads
  -municode  -mwin32  -mwindows  -fno-set-stack-executable
! -fwritable-relocated-rdata  -mpe-aligned-commons
! -muse-libstdc-wrappers}
  
  @emph{Darwin Options} (@ref{Darwin Options})
  @gccoptlist{-all_load  -allowable_client  -arch @var{name}
*************** Objective-C and Objective-C++ Dialects}.
*** 1173,1178 ****
--- 1173,1181 ----
  -mscq  -mtls-dialect=@var{opt}
  -mannotate-tablejump}
  
+ @emph{LynxOS Options} (@ref{LynxOS Options})
+ @gccoptlist{-mshared  -mthreads  -mlegacy-threads}
+ 
  @emph{M32C Options} (@ref{M32C Options})
  @gccoptlist{-mcpu=@var{cpu}  -msim  -memregs=@var{number}}
  
*************** Objective-C and Objective-C++ Dialects}.
*** 1191,1203 ****
  @emph{M680x0 Options} (@ref{M680x0 Options})
  @gccoptlist{-march=@var{arch}  -mcpu=@var{cpu}  -mtune=@var{tune}
  -m68000  -m68020  -m68020-40  -m68020-60  -m68030  -m68040
! -m68060  -mcpu32  -m5200  -m5206e  -m528x  -m5307  -m5407
  -mcfv4e  -mbitfield  -mc68000  -mc68020
  -mrtd  -mdiv  -mshort
  -mhard-float  -m68881  -msoft-float  -mpcrel
  -malign-int  -mstrict-align  -msep-data
  -mshared-library-id=@var{n}  -mid-shared-library
! -mxgot  -mlong-jump-table-offsets}
  
  @emph{MCore Options} (@ref{MCore Options})
  @gccoptlist{-mhardlit  -mdiv  -mrelax-immediates
--- 1194,1207 ----
  @emph{M680x0 Options} (@ref{M680x0 Options})
  @gccoptlist{-march=@var{arch}  -mcpu=@var{cpu}  -mtune=@var{tune}
  -m68000  -m68020  -m68020-40  -m68020-60  -m68030  -m68040
! -m68060  -m68302  -m68332  -m68851
! -mcpu32  -mfidoa  -m5200  -m5206e  -m528x  -m5307  -m5407
  -mcfv4e  -mbitfield  -mc68000  -mc68020
  -mrtd  -mdiv  -mshort
  -mhard-float  -m68881  -msoft-float  -mpcrel
  -malign-int  -mstrict-align  -msep-data
  -mshared-library-id=@var{n}  -mid-shared-library
! -mxgot  -mxtls  -mlong-jump-table-offsets}
  
  @emph{MCore Options} (@ref{MCore Options})
  @gccoptlist{-mhardlit  -mdiv  -mrelax-immediates
*************** Objective-C and Objective-C++ Dialects}.
*** 1232,1238 ****
  -mlong64  -mlong32  -msym32
  -G@var{num}  -mno-local-sdata  -mno-extern-sdata  -mno-gopt
  -membedded-data  -muninit-const-in-rodata
! -mcode-readable=@var{setting}
  -msplit-addresses  -mexplicit-relocs  -mexplicit-relocs=@var{release}
  -mno-check-zero-division  -mdivide-traps  -mdivide-breaks
  -mno-load-store-pairs
--- 1236,1242 ----
  -mlong64  -mlong32  -msym32
  -G@var{num}  -mno-local-sdata  -mno-extern-sdata  -mno-gopt
  -membedded-data  -muninit-const-in-rodata
! -mcode-readable=@var{setting}  -mno-data-in-code  -mcode-xonly
  -msplit-addresses  -mexplicit-relocs  -mexplicit-relocs=@var{release}
  -mno-check-zero-division  -mdivide-traps  -mdivide-breaks
  -mno-load-store-pairs
*************** Objective-C and Objective-C++ Dialects}.
*** 1253,1259 ****
  @gccoptlist{-mlibfuncs  -mepsilon  -mabi=gnu  -mabi=mmixware
  -mzero-extend  -mknuthdiv  -mtoplevel-symbols
  -melf  -mbranch-predict  -mbase-addresses
! -msingle-exit}
  
  @emph{MN10300 Options} (@ref{MN10300 Options})
  @gccoptlist{-mmult-bug  -mno-mult-bug
--- 1257,1264 ----
  @gccoptlist{-mlibfuncs  -mepsilon  -mabi=gnu  -mabi=mmixware
  -mzero-extend  -mknuthdiv  -mtoplevel-symbols
  -melf  -mbranch-predict  -mbase-addresses
! -msingle-exit  -mset-data-start=@var{address}
! -mset-program-start=@var{address}  -mno-set-program-start}
  
  @emph{MN10300 Options} (@ref{MN10300 Options})
  @gccoptlist{-mmult-bug  -mno-mult-bug
*************** Objective-C and Objective-C++ Dialects}.
*** 1295,1302 ****
  
  @emph{Nvidia PTX Options} (@ref{Nvidia PTX Options})
  @gccoptlist{-m64  -march=@var{arch}  -misa=@var{arch}  -march-map=@var{arch}
! -mptx=@var{version}
! -mmainkernel  -moptimize  -msoft-stack  -muniform-simt  -mgomp}
  
  @emph{OpenRISC Options} (@ref{OpenRISC Options})
  @gccoptlist{-mboard=@var{name}  -mhard-mul  -mhard-div
--- 1300,1308 ----
  
  @emph{Nvidia PTX Options} (@ref{Nvidia PTX Options})
  @gccoptlist{-m64  -march=@var{arch}  -misa=@var{arch}  -march-map=@var{arch}
! -mptx=@var{version}  -mmainkernel  -moptimize
! -msoft-stack  -msoft-stack-reserve-local=@var{size}
! -muniform-simt  -mgomp}
  
  @emph{OpenRISC Options} (@ref{OpenRISC Options})
  @gccoptlist{-mboard=@var{name}  -mhard-mul  -mhard-div
*************** See RS/6000 and PowerPC Options.
*** 1353,1359 ****
  @emph{RS/6000 and PowerPC Options} (@ref{RS/6000 and PowerPC Options})
  @gccoptlist{-mcpu=@var{cpu-type}
  -mtune=@var{cpu-type}
! -mcmodel=@var{code-model}
  -mpowerpc64
  -maltivec
  -mpowerpc-gpopt  -mpowerpc-gfxopt  -mmfcrf  -mpopcntb  -mpopcntd
--- 1359,1365 ----
  @emph{RS/6000 and PowerPC Options} (@ref{RS/6000 and PowerPC Options})
  @gccoptlist{-mcpu=@var{cpu-type}
  -mtune=@var{cpu-type}
! -mcmodel=@var{code-model}  -mprofile-kernel
  -mpowerpc64
  -maltivec
  -mpowerpc-gpopt  -mpowerpc-gfxopt  -mmfcrf  -mpopcntb  -mpopcntd
*************** See RS/6000 and PowerPC Options.
*** 1363,1369 ****
  -malign-power  -malign-natural
  -msoft-float  -mhard-float  -mmultiple  -mupdate
  -mavoid-indexed-addresses
! -mfused-madd  -mbit-align
  -mstrict-align  -mrelocatable  -mrelocatable-lib
  -mlittle  -mlittle-endian  -mbig  -mbig-endian
  -mdynamic-no-pic  -msingle-pic-base
--- 1369,1375 ----
  -malign-power  -malign-natural
  -msoft-float  -mhard-float  -mmultiple  -mupdate
  -mavoid-indexed-addresses
! -mfused-madd  -mbit-align  -mbit-word
  -mstrict-align  -mrelocatable  -mrelocatable-lib
  -mlittle  -mlittle-endian  -mbig  -mbig-endian
  -mdynamic-no-pic  -msingle-pic-base
*************** See RS/6000 and PowerPC Options.
*** 1395,1401 ****
  -mgnu-attribute
  -mstack-protector-guard=@var{guard}  -mstack-protector-guard-reg=@var{reg}
  -mstack-protector-guard-offset=@var{offset}  -mprefixed
! -mpcrel  -mmma  -mrop-protect  -mprivileged}
  
  @emph{RX Options} (@ref{RX Options})
  @gccoptlist{-m64bit-doubles  -m32bit-doubles  -fpu  -nofpu
--- 1401,1409 ----
  -mgnu-attribute
  -mstack-protector-guard=@var{guard}  -mstack-protector-guard-reg=@var{reg}
  -mstack-protector-guard-offset=@var{offset}  -mprefixed
! -mpcrel  -mmma  -mrop-protect  -mprivileged
! -mno-splat-word-constant  -mno-splat-float-constant
! -mno-ieee128-constant  -mno-warn-altivec-long}
  
  @emph{RX Options} (@ref{RX Options})
  @gccoptlist{-m64bit-doubles  -m32bit-doubles  -fpu  -nofpu
*************** See RS/6000 and PowerPC Options.
*** 1457,1463 ****
  
  @emph{Solaris 2 Options} (@ref{Solaris 2 Options})
  @gccoptlist{-mclear-hwcap  -mno-clear-hwcap  -mimpure-text  -mno-impure-text
! -gsctf  -pthread  -pthreads}
  
  @emph{SPARC Options} (@ref{SPARC Options})
  @gccoptlist{-mcpu=@var{cpu-type}
--- 1465,1471 ----
  
  @emph{Solaris 2 Options} (@ref{Solaris 2 Options})
  @gccoptlist{-mclear-hwcap  -mno-clear-hwcap  -mimpure-text  -mno-impure-text
! -gsctf}
  
  @emph{SPARC Options} (@ref{SPARC Options})
  @gccoptlist{-mcpu=@var{cpu-type}
*************** directives are not affected by these opt
*** 2360,2365 ****
--- 2368,2374 ----
  @option{-fprofile-prefix-map} and @option{-fcanon-prefix-map}.
  
  @opindex fcanon-prefix-map
+ @opindex fno-canon-prefix-map
  @item -fcanon-prefix-map
  For the @option{-f*-prefix-map} options normally comparison
  of @file{@var{old}} prefix against the filename that would be normally
*************** built-in functions selectively when usin
*** 2725,2736 ****
--- 2734,2747 ----
  @end smallexample
  
  @opindex fcond-mismatch
+ @opindex fno-cond-mismatch
  @item -fcond-mismatch
  Allow conditional expressions with mismatched types in the second and
  third arguments.  The value of such an expression is void.  This option
  is not supported for C++.
  
  @opindex ffreestanding
+ @opindex fno-freestanding
  @cindex hosted environment
  @item -ffreestanding
  
*************** This is equivalent to @option{-fno-hoste
*** 2744,2749 ****
--- 2755,2761 ----
  freestanding and hosted environments.
  
  @opindex fgimple
+ @opindex fno-gimple
  @item -fgimple
  
  Enable parsing of function definitions marked with @code{__GIMPLE}.
*************** This is an experimental feature that all
*** 2751,2756 ****
--- 2763,2769 ----
  passes.
  
  @opindex fgnu-tm
+ @opindex fno-gnu-tm
  @item -fgnu-tm
  When the option @option{-fgnu-tm} is specified, the compiler
  generates code for the Linux variant of Intel's current Transactional
*************** Note that the transactional memory featu
*** 2767,2772 ****
--- 2780,2786 ----
  non-call exceptions (@option{-fnon-call-exceptions}).
  
  @opindex fgnu89-inline
+ @opindex fno-gnu89-inline
  @item -fgnu89-inline
  The option @option{-fgnu89-inline} tells GCC to use the traditional
  GNU semantics for @code{inline} functions when in C99 mode.
*************** in effect for @code{inline} functions.
*** 2787,2792 ****
--- 2801,2807 ----
  Macros,,,cpp,The C Preprocessor}.
  
  @opindex fhosted
+ @opindex fno-hosted
  @cindex hosted environment
  @item -fhosted
  
*************** type of @code{int}.  Examples are nearly
*** 2797,2808 ****
--- 2812,2825 ----
  This is equivalent to @option{-fno-freestanding}.
  
  @opindex flax-vector-conversions
+ @opindex fno-lax-vector-conversions
  @item -flax-vector-conversions
  Allow implicit conversions between vectors with differing numbers of
  elements and/or incompatible element types.  This option should not be
  used for new code.
  
  @opindex fms-extensions
+ @opindex fno-ms-extensions
  @item -fms-extensions
  Accept some non-standard constructs used in Microsoft header files.
  
*************** provide any resources extracted from the
*** 2875,2880 ****
--- 2892,2898 ----
  sources.
  
  @opindex fplan9-extensions
+ @opindex fno-plan9-extensions
  @item -fplan9-extensions
  Accept some non-standard constructs used in Plan 9 code.
  
*************** default, such a bit-field is signed, bec
*** 2899,2904 ****
--- 2917,2923 ----
  basic integer types such as @code{int} are signed types.
  
  @opindex fsigned-char
+ @opindex fno-signed-char
  @item -fsigned-char
  Let the type @code{char} be signed, like @code{signed char}.
  
*************** the negative form of @option{-funsigned-
*** 2907,2912 ****
--- 2926,2932 ----
  @option{-fno-signed-char} is equivalent to @option{-funsigned-char}.
  
  @opindex funsigned-char
+ @opindex fno-unsigned-char
  @item -funsigned-char
  Let the type @code{char} be unsigned, like @code{unsigned char}.
  
*************** Turn off all access checking.  This swit
*** 3123,3128 ****
--- 3143,3149 ----
  around bugs in the access control code.
  
  @opindex faligned-new
+ @opindex fno-aligned-new
  @item -faligned-new
  @itemx -faligned-new=@var{alignment}
  Enable support for C++17 @code{new} of types that require more
*************** s = u8"xx"s;            // error: conver
*** 3216,3221 ****
--- 3237,3243 ----
  @end smallexample
  
  @opindex fcheck-new
+ @opindex fno-check-new
  @item -fcheck-new
  Check that the pointer returned by @code{operator new} is non-null
  before attempting to modify the storage allocated.  This check is
*************** exhaustion is signalled by throwing @cod
*** 3228,3233 ****
--- 3250,3256 ----
  @samp{new (nothrow)}.
  
  @opindex fconcepts
+ @opindex fno-concepts
  @item -fconcepts
  Enable support for the C++ Concepts feature for constraining template
  arguments.  With @option{-std=c++20} and above, Concepts are part of
*************** constexpr calculations you might want to
*** 3264,3269 ****
--- 3287,3293 ----
  value works best for you.
  
  @opindex fconstexpr-fp-except
+ @opindex fno-constexpr-fp-except
  @item -fconstexpr-fp-except
  Annex F of the C standard specifies that IEC559 floating point
  exceptions encountered at compile time should not stop compilation.
*************** evaluation might take too long.
*** 3294,3299 ****
--- 3318,3324 ----
  The default is 33554432 (1<<25).
  
  @opindex fcontracts
+ @opindex fno-contracts
  @item -fcontracts
  Enable experimental support for the C++ Contracts feature, as briefly
  added to and then removed from the C++20 working paper (N4820).  The
*************** called.  If the handler returns, executi
*** 3375,3386 ****
--- 3400,3413 ----
  @end table
  
  @opindex fcoroutines
+ @opindex fno-coroutines
  @item -fcoroutines
  Enable support for the C++ coroutines extension.  With @option{-std=c++20}
  and above, coroutines are part of the language standard, so
  @option{-fcoroutines} defaults to on.
  
  @opindex fdiagnostics-all-candidates
+ @opindex fno-diagnostics-all-candidates
  @item -fdiagnostics-all-candidates
  Permit the C++ front end to note all candidates during overload resolution
  failure, including when a deleted function is selected.
*************** This option is turned on by default; it
*** 3528,3533 ****
--- 3555,3561 ----
  or later.
  
  @opindex fimplicit-constexpr
+ @opindex fno-implicit-constexpr
  @item -fimplicit-constexpr
  Make inline functions implicitly constexpr, if they satisfy the
  requirements for a constexpr function.  This option can be used in
*************** implicitly enabled by selecting that sta
*** 3574,3579 ****
--- 3602,3608 ----
  Compile a header file to create an importable header unit.
  
  @opindex fmodule-implicit-inline
+ @opindex fno-module-implicit-inline
  @item -fmodule-implicit-inline
  Member functions defined in their class definitions are not implicitly
  inline for modular code.  This is different to traditional C++
*************** and if that is unset, an in-process defa
*** 3605,3615 ****
--- 3634,3646 ----
  Only emit the Compiled Module Interface, inhibiting any object file.
  
  @opindex fms-extensions
+ @opindex fno-ms-extensions
  @item -fms-extensions
  Disable Wpedantic warnings about constructs used in MFC, such as implicit
  int and getting a pointer to member function via non-standard syntax.
  
  @opindex fnew-inheriting-ctors
+ @opindex fno-new-inheriting-ctors
  @item -fnew-inheriting-ctors
  Enable the P0136 adjustment to the semantics of C++11 constructor
  inheritance.  This is part of C++17 but also considered to be a Defect
*************** Report against C++11 and C++14.  This fl
*** 3617,3622 ****
--- 3648,3654 ----
  unless @option{-fabi-version=10} or lower is specified.
  
  @opindex fnew-ttp-matching
+ @opindex fno-new-ttp-matching
  @item -fnew-ttp-matching
  Enable the P0522 resolution to Core issue 150, template template
  parameters and default arguments: this allows a template with default
*************** ANSI/ISO C@.  These include @code{ffs},
*** 3632,3637 ****
--- 3664,3670 ----
  @code{index}, @code{bzero}, @code{conjf}, and other related functions.
  
  @opindex fnothrow-opt
+ @opindex fno-nothrow-opt
  @item -fnothrow-opt
  Treat a @code{throw()} exception specification as if it were a
  @code{noexcept} specification to reduce or eliminate the text size
*************** behaviors make it harder to understand t
*** 3672,3677 ****
--- 3705,3711 ----
  easier, you can use @option{-fno-pretty-templates} to disable them.
  
  @opindex frange-for-ext-temps
+ @opindex fno-range-for-ext-temps
  @item -frange-for-ext-temps
  Enable lifetime extension of C++ range based for temporaries.
  With @option{-std=c++23} and above this is part of the language standard,
*************** fail to link if a class compiled with @o
*** 3701,3706 ****
--- 3735,3741 ----
  for a class compiled with @option{-frtti}.
  
  @opindex fsized-deallocation
+ @opindex fno-sized-deallocation
  @item -fsized-deallocation
  Enable the built-in global declarations
  @smallexample
*************** to make deallocation faster.  Enabled by
*** 3714,3719 ****
--- 3749,3755 ----
  warns about places that might want to add a definition.
  
  @opindex fstrict-enums
+ @opindex fno-strict-enums
  @item -fstrict-enums
  Allow the compiler to optimize using the assumption that a value of
  enumerated type can only be one of the values of the enumeration (as
*************** This option has no effect for an enumera
*** 3725,3730 ****
--- 3761,3767 ----
  type.
  
  @opindex fstrong-eval-order
+ @opindex fno-strong-eval-order
  @item -fstrong-eval-order
  @itemx -fstrong-eval-order=@var{kind}
  Evaluate member access, array subscripting, and shift expressions in
*************** option to reduce code size slightly in c
*** 3763,3768 ****
--- 3800,3806 ----
  thread-safe.
  
  @opindex fuse-cxa-atexit
+ @opindex fno-use-cxa-atexit
  @item -fuse-cxa-atexit
  Register destructors for objects with static storage duration with the
  @code{__cxa_atexit} function rather than the @code{atexit} function.
*************** causes @code{std::uncaught_exception} to
*** 3778,3783 ****
--- 3816,3822 ----
  if the runtime routine is not available.
  
  @opindex fvisibility-inlines-hidden
+ @opindex fno-visibility-inlines-hidden
  @item -fvisibility-inlines-hidden
  This switch declares that the user does not attempt to compare
  pointers to inline functions or methods where the addresses of the two functions
*************** as their linkage might otherwise cross a
*** 3806,3811 ****
--- 3845,3851 ----
  @xref{Template Instantiation}.
  
  @opindex fvisibility-ms-compat
+ @opindex fno-visibility-ms-compat
  @item -fvisibility-ms-compat
  This flag attempts to use visibility settings to make GCC's C++
  linkage model compatible with that of Microsoft Visual Studio.
*************** C++, but do still search the other stand
*** 3868,3874 ****
--- 3908,3916 ----
  is used when building the C++ library.)
  
  @opindex flang-info-include-translate
+ @opindex fno-lang-info-include-translate
  @opindex flang-info-include-translate-not
+ @opindex fno-lang-info-include-translate-not
  @item -flang-info-include-translate
  @itemx -flang-info-include-translate-not
  @itemx -flang-info-include-translate=@var{header}
*************** the form @code{"user"} or @code{<system>
*** 3880,3885 ****
--- 3922,3928 ----
  specific user or system header using the include path.
  
  @opindex flang-info-module-cmi
+ @opindex fno-lang-info-module-cmi
  @item -flang-info-module-cmi
  @itemx -flang-info-module-cmi=@var{module}
  Inform of Compiled Module Interface pathnames.  The first will note
*************** In addition, these warning options have
*** 3903,3908 ****
--- 3946,3952 ----
  
  @table @gcctabopt
  @opindex Wabi-tag
+ @opindex Wno-abi-tag
  @item -Wabi-tag @r{(C++ and Objective-C++ only)}
  Warn when a type with an ABI tag is used in a context that does not
  have that ABI tag.  See @ref{C++ Attributes} for more information
*************** another handler, which can point out a w
*** 4563,4568 ****
--- 4607,4613 ----
  
  @opindex Wsfinae-incomplete
  @opindex Wno-sfinae-incomplete
+ @item -Wsfinae-incomplete @r{(C++ and Objective-C++ only)}
  Warn about a class that is found to be incomplete, or a function with
  auto return type that has not yet been deduced, in a context where
  that causes substitution failure rather than an error, and then the
*************** nothing is specified, the default is Ver
*** 5249,5254 ****
--- 5294,5300 ----
  machines, and Version 2 on 64-bit target machines.
  
  @opindex fobjc-call-cxx-cdtors
+ @opindex fno-objc-call-cxx-cdtors
  @item -fobjc-call-cxx-cdtors
  For each Objective-C class, check if any of its instance variables is a
  C++ object with a non-trivial default constructor.  If so, synthesize a
*************** support for invoking the @code{- (id) .c
*** 5274,5284 ****
--- 5320,5332 ----
  @code{- (void) .cxx_destruct} methods.
  
  @opindex fobjc-direct-dispatch
+ @opindex fno-objc-direct-dispatch
  @item -fobjc-direct-dispatch
  Allow fast jumps to the message dispatcher.  On Darwin this is
  accomplished via the comm page.
  
  @opindex fobjc-exceptions
+ @opindex fno-objc-exceptions
  @item -fobjc-exceptions
  Enable syntactic support for structured exception handling in
  Objective-C, similar to what is offered by C++.  This option
*************** runtime and the NeXT runtime (but not av
*** 5289,5294 ****
--- 5337,5343 ----
  the NeXT runtime on Mac OS X 10.2 and earlier).
  
  @opindex fobjc-gc
+ @opindex fno-objc-gc
  @item -fobjc-gc
  Enable garbage collection (GC) in Objective-C and Objective-C++
  programs.  This option is only available with the NeXT runtime; the
*************** GNU runtime has a different garbage coll
*** 5296,5301 ****
--- 5345,5351 ----
  does not require special compiler flags.
  
  @opindex fobjc-nilcheck
+ @opindex fno-objc-nilcheck
  @item -fobjc-nilcheck
  For the NeXT runtime with version 2 of the ABI, check for a nil
  receiver in method invocations before doing the actual method call.
*************** This is useful if you need to make sure
*** 5317,5322 ****
--- 5367,5373 ----
  be compiled with older versions of GCC@.
  
  @opindex freplace-objc-classes
+ @opindex fno-replace-objc-classes
  @item -freplace-objc-classes
  Emit a special marker instructing @command{ld(1)} not to statically link in
  the resulting object file, and allow @command{dyld(1)} to load it in at
*************** is only available in conjunction with th
*** 5328,5333 ****
--- 5379,5385 ----
  and later.
  
  @opindex fzero-link
+ @opindex fno-zero-link
  @item -fzero-link
  When compiling for the NeXT runtime, the compiler ordinarily replaces calls
  to @code{objc_getClass("@dots{}")} (when the name of the class is known at
*************** methods inherited from the superclass ar
*** 5384,5389 ****
--- 5436,5442 ----
  and no warning is issued for them.
  
  @opindex Wobjc-root-class
+ @opindex Wno-objc-root-class
  @item -Wobjc-root-class @r{(Objective-C and Objective-C++ only)}
  Warn if a class interface lacks a superclass. Most classes will inherit
  from @code{NSObject} (or @code{Object}) for example.  When declaring
*************** Typical command lines are
*** 5487,5492 ****
--- 5540,5546 ----
  @end smallexample
  
  @opindex fopenacc
+ @opindex fno-openacc
  @cindex OpenACC accelerator programming
  @item -fopenacc
  Enable handling of OpenACC directives @samp{#pragma acc} in C/C++ and
*************** not explicitly specify them.  The @var{g
*** 5503,5512 ****
  A size can be omitted, to use a target-specific default value.
  
  @opindex fopenmp
  @cindex OpenMP parallel
  @item -fopenmp
  Enable handling of OpenMP directives @samp{#pragma omp},
! @samp{[[omp::directive(...)]]}, @samp{[[omp::decl(...)]]},
  and @samp{[[omp::sequence(...)]]} in C/C++.  In Fortran, it enables
  @samp{!$omp} and the conditional compilation sentinel @samp{!$}.
  In fixed source form Fortran, the sentinels can also start with
--- 5557,5567 ----
  A size can be omitted, to use a target-specific default value.
  
  @opindex fopenmp
+ @opindex fno-openmp
  @cindex OpenMP parallel
  @item -fopenmp
  Enable handling of OpenMP directives @samp{#pragma omp},
! @samp{[[omp::decl(...)]]}, @samp{[[omp::directive(...)]]},
  and @samp{[[omp::sequence(...)]]} in C/C++.  In Fortran, it enables
  @samp{!$omp} and the conditional compilation sentinel @samp{!$}.
  In fixed source form Fortran, the sentinels can also start with
*************** targets that have support for @option{-p
*** 5517,5522 ****
--- 5572,5578 ----
  implies @option{-fopenmp-simd}.
  
  @opindex fopenmp-simd
+ @opindex fno-openmp-simd
  @cindex OpenMP SIMD
  @cindex SIMD
  @item -fopenmp-simd
*************** Fortran.  In fixed source form Fortran,
*** 5533,5538 ****
--- 5589,5595 ----
  to the current task region, independent of the specified @code{bind} clause.
  
  @opindex fopenmp-target-simd-clone
+ @opindex fno-openmp-target-simd-clone
  @cindex OpenMP target SIMD clone
  @item -fopenmp-target-simd-clone
  @item -fopenmp-target-simd-clone=@var{device-type}
*************** prefix) for physical lines that result f
*** 5616,5621 ****
--- 5673,5679 ----
  a message which is too long to fit on a single line.
  
  @opindex fdiagnostics-color
+ @opindex fno-diagnostics-color
  @cindex highlight, color
  @vindex GCC_COLORS @r{environment variable}
  @item -fdiagnostics-color[=@var{WHEN}]
*************** This option controls the minimum width o
*** 5934,5939 ****
--- 5992,5998 ----
  @option{-fdiagnostics-show-line-numbers}.  It defaults to 6.
  
  @opindex fdiagnostics-show-context
+ @opindex fno-diagnostics-show-context
  @item -fdiagnostics-show-context[=@var{depth}]
  @itemx -fno-diagnostics-show-context
  With this option, the compiler might print the interesting control flow
*************** The forms @option{-fdiagnostics-show-con
*** 5950,5955 ****
--- 6009,6015 ----
  @option{-fdiagnostics-show-context=0}, respectively.
  
  @opindex fdiagnostics-parseable-fixits
+ @opindex fno-diagnostics-parseable-fixits
  @item -fdiagnostics-parseable-fixits
  Emit fix-it hints in a machine-parseable format, suitable for consumption
  by IDEs.  For each fix-it, a line will be printed after the relevant
*************** An empty range (e.g. ``45:3-45:3'') indi
*** 5981,5986 ****
--- 6041,6047 ----
  be inserted at the given position.
  
  @opindex fdiagnostics-generate-patch
+ @opindex fno-diagnostics-generate-patch
  @item -fdiagnostics-generate-patch
  Print fix-it hints to stderr in unified diff format, after any diagnostics
  are printed.  For example:
*************** The diff may or may not be colorized, fo
*** 6002,6007 ****
--- 6063,6069 ----
  as for diagnostics (see @option{-fdiagnostics-color}).
  
  @opindex fdiagnostics-show-template-tree
+ @opindex fno-diagnostics-show-template-tree
  @item -fdiagnostics-show-template-tree
  
  In the C++ frontend, when printing diagnostics showing mismatching
*************** For example:
*** 6138,6143 ****
--- 6200,6206 ----
  @end smallexample
  
  @opindex fdiagnostics-show-path-depths
+ @opindex fno-diagnostics-show-path-depths
  @item -fdiagnostics-show-path-depths
  This option provides additional information when printing control-flow paths
  associated with a diagnostic.
*************** warnings but control the kinds of diagno
*** 6519,6524 ****
--- 6582,6588 ----
  @table @gcctabopt
  @cindex syntax checking
  @opindex fsyntax-only
+ @opindex fno-syntax-only
  @item -fsyntax-only
  Check the code for syntax errors, but don't do anything beyond that.
  
*************** errors by @option{-pedantic-errors}.  Fo
*** 6700,6705 ****
--- 6764,6770 ----
  }
  
  @opindex fpermissive
+ @opindex fno-permissive
  @item -fpermissive
  Downgrade some required diagnostics about nonconformant code from
  errors to warnings.  Thus, using @option{-fpermissive} allows some
*************** Warn if a declaration has duplicate @cod
*** 7130,7135 ****
--- 7195,7201 ----
  @opindex Wformat
  @opindex Wno-format
  @opindex ffreestanding
+ @opindex fno-freestanding
  @opindex fno-builtin
  @opindex Wformat=
  @item -Wformat
*************** This warning is upgraded to an error by
*** 9452,9458 ****
  Warn when a literal @samp{0} is used as null pointer constant.
  
  @opindex Wzero-length-bounds
! @opindex Wzero-length-bounds
  @item -Wzero-length-bounds
  Warn about accesses to elements of zero-length array members that might
  overlap other members of the same object.  Declaring interior zero-length
--- 9518,9524 ----
  Warn when a literal @samp{0} is used as null pointer constant.
  
  @opindex Wzero-length-bounds
! @opindex Wno-zero-length-bounds
  @item -Wzero-length-bounds
  Warn about accesses to elements of zero-length array members that might
  overlap other members of the same object.  Declaring interior zero-length
*************** Do not warn whenever a local variable sh
*** 9711,9725 ****
--- 9777,9794 ----
  Objective-C method.
  
  @opindex Wshadow=global
+ @opindex Wno-shadow=global
  @item -Wshadow=global
  Warn for any shadowing.
  Same as @option{-Wshadow}.
  
  @opindex Wshadow=local
+ @opindex Wno-shadow=local
  @item -Wshadow=local
  Warn when a local variable shadows another local variable or parameter.
  
  @opindex Wshadow=compatible-local
+ @opindex Wno-shadow=compatible-local
  @item -Wshadow=compatible-local
  Warn when a local variable shadows another local variable or parameter
  whose type is compatible with that of the shadowing variable.  In C++,
*************** an @code{int *} on machines where intege
*** 10098,10104 ****
  two- or four-byte boundaries.
  
  @opindex Wcast-align=strict
! @item -Wcast-align=strict
  Warn whenever a pointer is cast such that the required alignment of the
  target is increased.  For example, warn if a @code{char *} is cast to
  an @code{int *} regardless of the target machine.
--- 10167,10173 ----
  two- or four-byte boundaries.
  
  @opindex Wcast-align=strict
! @opindex Wno-cast-align=strict
  Warn whenever a pointer is cast such that the required alignment of the
  target is increased.  For example, warn if a @code{char *} is cast to
  an @code{int *} regardless of the target machine.
*************** This option can also be used to disable
*** 10180,10185 ****
--- 10249,10255 ----
  produced by @option{-gctf} or @option{-gsctf} for unsupported languages.
  
  @opindex Wcompare-distinct-pointer-types
+ @opindex Wno-compare-distinct-pointer-types
  @item -Wcompare-distinct-pointer-types @r{(C and Objective-C only)}
  Warn if pointers of distinct types are compared without a cast.  This
  warning is enabled by default.
*************** into an error if building for a C versio
*** 10690,10695 ****
--- 10760,10766 ----
  @option{-pedantic-errors}.
  
  @opindex Wheader-guard
+ @opindex Wno-header-guard
  @item -Wheader-guard
  Warn if a valid preprocessor header multiple inclusion guard has
  a @code{#define} directive right after @code{#ifndef} or @code{#if !defined}
*************** seemingly insignificant changes in the s
*** 11171,11176 ****
--- 11242,11248 ----
  warnings produced by @option{-Winline} to appear or disappear.
  
  @opindex Winterference-size
+ @opindex Wno-interference-size
  @item -Winterference-size
  Warn about use of C++17 @code{std::hardware_destructive_interference_size}
  without specifying its value with @option{--param destructive-interference-size}.
*************** at file-scope or global-scope only.
*** 12819,12826 ****
  Produce debugging information in Alpha/VMS debug format (if that is
  supported).  This is the format used by DEBUG on Alpha/VMS systems.
  
- @item -gcodeview
  @opindex gcodeview
  Produce debugging information in CodeView debug format (if that is
  supported).  This is the format used by Microsoft Visual C++ on
  Windows.
--- 12891,12899 ----
  Produce debugging information in Alpha/VMS debug format (if that is
  supported).  This is the format used by DEBUG on Alpha/VMS systems.
  
  @opindex gcodeview
+ @opindex gno-codeview
+ @item -gcodeview
  Produce debugging information in CodeView debug format (if that is
  supported).  This is the format used by Microsoft Visual C++ on
  Windows.
*************** By default, no debug information is prod
*** 12858,12863 ****
--- 12931,12937 ----
  used. Use this option if you want debug information for all symbols.
  
  @opindex femit-class-debug-always
+ @opindex fno-emit-class-debug-always
  @item -femit-class-debug-always
  Instead of emitting debugging information for a C++ class in only one
  object file, emit it in all object files using the class.  This option
*************** where to find the source files. See also
*** 12888,12893 ****
--- 12962,12968 ----
  and @option{-fcanon-prefix-map}.
  
  @opindex fvar-tracking
+ @opindex fno-var-tracking
  @item -fvar-tracking
  Run variable tracking pass.  It computes where variables are stored at each
  position in code.  Better debugging information is then generated
*************** To do variable tracking without marking
*** 12922,12927 ****
--- 12997,13003 ----
  @option{-fvar-tracking} @option{-fno-var-tracking-uninit}.
  
  @opindex gsplit-dwarf
+ @opindex gno-split-dwarf
  @item -gsplit-dwarf
  If DWARF debugging information is enabled, separate as much debugging
  information as possible into a separate output file with the extension
*************** debug information sections.  The 64-bit
*** 12942,12947 ****
--- 13018,13024 ----
  information and might not be well supported by all consumers yet.
  
  @opindex gdescribe-dies
+ @opindex gno-describe-dies
  @item -gdescribe-dies
  Add description attributes to some DWARF DIEs that have no name attribute,
  such as artificial variables, external references and call site
*************** See also @option{-frecord-gcc-switches}
*** 12986,12991 ****
--- 13063,13069 ----
  way of storing compiler options into the object file.
  
  @opindex gstrict-dwarf
+ @opindex gno-strict-dwarf
  @item -gstrict-dwarf
  Disallow using extensions of later DWARF standard version than selected
  with @option{-gdwarf-@var{version}}.  On most targets using non-conflicting
*************** This is generally desirable, because ass
*** 13006,13013 ****
  tables are a lot more compact than those the compiler can generate
  itself.
  
! This option will be enabled by default if, at GCC configure time, the
! assembler was found to support such directives.
  
  @opindex gno-as-loc-support
  @item -gno-as-loc-support
--- 13084,13091 ----
  tables are a lot more compact than those the compiler can generate
  itself.
  
! This option is enabled by default if, at GCC configure time, the
! assembler is found to support such directives.
  
  @opindex gno-as-loc-support
  @item -gno-as-loc-support
*************** line number tables are to be generated.
*** 13019,13027 ****
  Inform the compiler that the assembler supports @code{view} assignment
  and reset assertion checking in @code{.loc} directives.
  
! This option will be enabled by default if, at GCC configure time, the
! assembler was found to support them.
  
  @item -gno-as-locview-support
  Force GCC to assign view numbers internally, if
  @option{-gvariable-location-views} are explicitly requested.
--- 13097,13106 ----
  Inform the compiler that the assembler supports @code{view} assignment
  and reset assertion checking in @code{.loc} directives.
  
! This option is enabled by default if, at GCC configure time, the
! assembler is found to support them.
  
+ @opindex gno-as-locview-support
  @item -gno-as-locview-support
  Force GCC to assign view numbers internally, if
  @option{-gvariable-location-views} are explicitly requested.
*************** from the line number table.  This enable
*** 13056,13062 ****
  inspect state at certain points of the program, even if no instructions
  associated with the corresponding source locations are present at that
  point.  If the assembler lacks support for view numbers in line number
! tables, this will cause the compiler to emit the line number table,
  which generally makes them somewhat less compact.  The augmented line
  number tables and location lists are fully backward-compatible, so they
  can be consumed by debug information consumers that are not aware of
--- 13135,13141 ----
  inspect state at certain points of the program, even if no instructions
  associated with the corresponding source locations are present at that
  point.  If the assembler lacks support for view numbers in line number
! tables, this causes the compiler to emit the line number table,
  which generally makes them somewhat less compact.  The augmented line
  number tables and location lists are fully backward-compatible, so they
  can be consumed by debug information consumers that are not aware of
*************** This is enabled by default when outputti
*** 13066,13075 ****
  the normal level, as long as there is assembler support,
  @option{-fvar-tracking-assignments} is enabled and
  @option{-gstrict-dwarf} is not.  When assembler support is not
! available, this may still be enabled, but it will force GCC to output
  internal line number tables, and if
! @option{-ginternal-reset-location-views} is not enabled, that will most
! certainly lead to silently mismatching location views.
  
  There is a proposed representation for view numbers that is not backward
  compatible with the location list format introduced in DWARF 5, that can
--- 13145,13154 ----
  the normal level, as long as there is assembler support,
  @option{-fvar-tracking-assignments} is enabled and
  @option{-gstrict-dwarf} is not.  When assembler support is not
! available, this may still be enabled, but it forces GCC to output
  internal line number tables, and if
! @option{-ginternal-reset-location-views} is not enabled, that most
! certainly leads to silently mismatching location views.
  
  There is a proposed representation for view numbers that is not backward
  compatible with the location list format introduced in DWARF 5, that can
*************** would be rendered unable to decode locat
*** 13084,13093 ****
  @item -ginternal-reset-location-views
  @itemx -gno-internal-reset-location-views
  Attempt to determine location views that can be omitted from location
! view lists.  This requires the compiler to have very accurate insn
  length estimates, which isn't always the case, and it may cause
  incorrect view lists to be generated silently when using an assembler
! that does not support location view lists.  The GNU assembler will flag
  any such error as a @code{view number mismatch}.  This is only enabled
  on ports that define a reliable estimation function.
  
--- 13163,13172 ----
  @item -ginternal-reset-location-views
  @itemx -gno-internal-reset-location-views
  Attempt to determine location views that can be omitted from location
! view lists.  This requires the compiler to have very accurate instruction
  length estimates, which isn't always the case, and it may cause
  incorrect view lists to be generated silently when using an assembler
! that does not support location view lists.  The GNU assembler flags
  any such error as a @code{view number mismatch}.  This is only enabled
  on ports that define a reliable estimation function.
  
*************** along with statement frontiers, and it i
*** 13104,13109 ****
--- 13183,13189 ----
  location views are enabled.
  
  @opindex gz
+ @opindex gno-z
  @item -gz@r{[}=@var{type}@r{]}
  Produce compressed debug sections in DWARF format, if that is supported.
  If @var{type} is not given, the default type depends on the capabilities
*************** this allows the compiler to let argument
*** 13490,13495 ****
--- 13570,13576 ----
  function calls and pop them all at once.
  
  @opindex fforward-propagate
+ @opindex fno-forward-propagate
  @item -fforward-propagate
  Perform a forward propagation pass on RTL@.  The pass tries to combine two
  instructions and checks if the result can be simplified.  If loop unrolling
*************** This option is enabled by default at opt
*** 13500,13505 ****
--- 13581,13587 ----
  @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex favoid-store-forwarding
+ @opindex fno-avoid-store-forwarding
  @item -favoid-store-forwarding
  @itemx -fno-avoid-store-forwarding
  Many CPUs will stall for many cycles when a load partially depends on previous
*************** The default is @option{-ffp-contract=off
*** 13523,13528 ****
--- 13605,13611 ----
  (@option{-std=c11} or similar), @option{-ffp-contract=fast} otherwise.
  
  @opindex ffp-int-builtin-inexact
+ @opindex fno-fp-int-builtin-inexact
  @item -ffp-int-builtin-inexact
  Allow the built-in functions @code{ceil}, @code{floor},
  @code{round} and @code{trunc}, and their @code{float} and @code{long
*************** generate a call to a library function th
*** 13541,13546 ****
--- 13624,13630 ----
  may be raised if the library implementation does not follow TS 18661.
  
  @opindex fomit-frame-pointer
+ @opindex fno-omit-frame-pointer
  @item -fomit-frame-pointer
  Omit the frame pointer in functions that don't need one.  This avoids the
  instructions to save, set up and restore the frame pointer; on many targets
*************** leaf functions.
*** 13556,13561 ****
--- 13640,13646 ----
  Enabled by default at @option{-O1} and higher.
  
  @opindex foptimize-crc
+ @opindex fno-optimize-crc
  @item -foptimize-crc
  Detect loops calculating CRC (performing polynomial long division) and
  replace them with a faster implementation.  Detect 8, 16, 32, and 64 bit CRC,
*************** instruction, generate CRC using it; othe
*** 13569,13580 ****
--- 13654,13667 ----
  Enabled by default at @option{-O2} and higher.
  
  @opindex foptimize-sibling-calls
+ @opindex fno-optimize-sibling-calls
  @item -foptimize-sibling-calls
  Optimize sibling and tail recursive calls.
  
  Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex foptimize-strlen
+ @opindex fno-optimize-strlen
  @item -foptimize-strlen
  Optimize various standard C string functions (e.g.@: @code{strlen},
  @code{strchr} or @code{strcpy}) and
*************** Inline @samp{__atomic} operations when a
*** 13590,13595 ****
--- 13677,13683 ----
  is available.  This optimization is enabled by default.
  
  @opindex finline-stringops
+ @opindex fno-inline-stringops
  @item -finline-stringops@r{[}=@var{fn}@r{]}
  Expand memory and string operations (for now, only @code{memset})
  inline, even when the length is variable or big enough as to require
*************** Single functions can be exempted from in
*** 13614,13619 ****
--- 13702,13708 ----
  with the @code{noinline} attribute.
  
  @opindex finline-small-functions
+ @opindex fno-inline-small-functions
  @item -finline-small-functions
  Integrate functions into their callers when their body is smaller than expected
  function call code (so overall size of program gets smaller).  The compiler
*************** inline.
*** 13624,13629 ****
--- 13713,13719 ----
  Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex findirect-inlining
+ @opindex fno-indirect-inlining
  @item -findirect-inlining
  Inline also indirect calls that are discovered to be known at compile
  time thanks to previous inlining.  This option has any effect only
*************** or @option{-finline-small-functions} opt
*** 13633,13638 ****
--- 13723,13729 ----
  Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex finline-functions
+ @opindex fno-inline-functions
  @item -finline-functions
  Consider all functions for inlining, even if they are not declared inline.
  The compiler heuristically decides which functions are worth integrating
*************** Enabled at levels @option{-O2}, @option{
*** 13646,13651 ****
--- 13737,13743 ----
  by @option{-fprofile-use} and @option{-fauto-profile}.
  
  @opindex finline-functions-called-once
+ @opindex fno-inline-functions-called-once
  @item -finline-functions-called-once
  Consider all @code{static} functions called once for inlining into their
  caller even if they are not marked @code{inline}.  If a call to a given
*************** Enabled at levels @option{-O1}, @option{
*** 13656,13661 ****
--- 13748,13754 ----
  but not @option{-Og}.
  
  @opindex fearly-inlining
+ @opindex fno-early-inlining
  @item -fearly-inlining
  Inline functions marked by @code{always_inline} and functions whose body seems
  smaller than the function call overhead early before doing
*************** having large chains of nested wrapper fu
*** 13666,13671 ****
--- 13759,13765 ----
  Enabled by default.
  
  @opindex fipa-sra
+ @opindex fno-ipa-sra
  @item -fipa-sra
  Perform interprocedural scalar replacement of aggregates, removal of
  unused parameters and replacement of parameters passed by reference
*************** attribute or declspec.  @xref{Function A
*** 13711,13716 ****
--- 13805,13811 ----
  Functions}.
  
  @opindex fkeep-inline-functions
+ @opindex fno-keep-inline-functions
  @item -fkeep-inline-functions
  In C, emit @code{static} functions that are declared @code{inline}
  into the object file, even if the function has been inlined into all
*************** of its callers.  This switch does not af
*** 13719,13729 ****
--- 13814,13826 ----
  inline functions into the object file.
  
  @opindex fkeep-static-functions
+ @opindex fno-keep-static-functions
  @item -fkeep-static-functions
  Emit @code{static} functions into the object file, even if the function
  is never used.
  
  @opindex fkeep-static-consts
+ @opindex fno-keep-static-consts
  @item -fkeep-static-consts
  Emit variables declared @code{static const} when optimization isn't turned
  on, even if the variables aren't referenced.
*************** check if a variable is referenced, regar
*** 13733,13738 ****
--- 13830,13836 ----
  optimization is turned on, use the @option{-fno-keep-static-consts} option.
  
  @opindex fmerge-constants
+ @opindex fno-merge-constants
  @item -fmerge-constants
  Attempt to merge identical constants (string constants and floating-point
  constants) across compilation units.
*************** behavior.
*** 13744,13749 ****
--- 13842,13848 ----
  Enabled at levels @option{-O1}, @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex fmerge-all-constants
+ @opindex fno-merge-all-constants
  @item -fmerge-all-constants
  Attempt to merge identical constants and identical variables.
  
*************** so using this option results in non-conf
*** 13756,13767 ****
--- 13855,13868 ----
  behavior.
  
  @opindex fmodulo-sched
+ @opindex fno-modulo-sched
  @item -fmodulo-sched
  Perform swing modulo scheduling immediately before the first scheduling
  pass.  This pass looks at innermost loops and reorders their
  instructions by overlapping different iterations.
  
  @opindex fmodulo-sched-allow-regmoves
+ @opindex fno-modulo-sched-allow-regmoves
  @item -fmodulo-sched-allow-regmoves
  Perform more aggressive SMS-based modulo scheduling with register moves
  allowed.  By setting this flag certain anti-dependences edges are
*************** assumptions based on that.
*** 13820,13825 ****
--- 13921,13927 ----
  The default is @option{-fzero-initialized-in-bss} except in Ada.
  
  @opindex fthread-jumps
+ @opindex fno-thread-jumps
  @item -fthread-jumps
  Perform optimizations that check to see if a jump branches to a
  location where another comparison subsumed by the first is found.  If
*************** the condition is known to be true or fal
*** 13830,13835 ****
--- 13932,13938 ----
  Enabled at levels @option{-O1}, @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex fsplit-wide-types
+ @opindex fno-split-wide-types
  @item -fsplit-wide-types
  When using a type that occupies multiple registers, such as @code{long
  long} on a 32-bit system, split the registers apart and allocate them
*************** Enabled at levels @option{-O1}, @option{
*** 13840,13845 ****
--- 13943,13949 ----
  @option{-Os}.
  
  @opindex fsplit-wide-types-early
+ @opindex fno-split-wide-types-early
  @item -fsplit-wide-types-early
  Fully split wide types early, instead of very late.
  This option has no effect unless @option{-fsplit-wide-types} is turned on.
*************** This option has no effect unless @option
*** 13847,13852 ****
--- 13951,13957 ----
  This is the default on some targets.
  
  @opindex fcse-follow-jumps
+ @opindex fno-cse-follow-jumps
  @item -fcse-follow-jumps
  In common subexpression elimination (CSE), scan through jump instructions
  when the target of the jump is not reached by any other path.  For
*************** body of the @code{if}.
*** 13867,13872 ****
--- 13972,13978 ----
  Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex frerun-cse-after-loop
+ @opindex fno-rerun-cse-after-loop
  @item -frerun-cse-after-loop
  Re-run common subexpression elimination after loop optimizations are
  performed.
*************** performed.
*** 13874,13879 ****
--- 13980,13986 ----
  Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex fgcse
+ @opindex fno-gcse
  @item -fgcse
  Perform a global common subexpression elimination pass.
  This pass also performs global constant and copy propagation.
*************** the global common subexpression eliminat
*** 13886,13891 ****
--- 13993,13999 ----
  Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex fgcse-lm
+ @opindex fno-gcse-lm
  @item -fgcse-lm
  When @option{-fgcse-lm} is enabled, global common subexpression elimination
  attempts to move loads that are only killed by stores into themselves.  This
*************** the loop, and a copy/store within the lo
*** 13895,13900 ****
--- 14003,14009 ----
  Enabled by default when @option{-fgcse} is enabled.
  
  @opindex fgcse-sm
+ @opindex fno-gcse-sm
  @item -fgcse-sm
  When @option{-fgcse-sm} is enabled, a store motion pass is run after
  global common subexpression elimination.  This pass attempts to move
*************** the loop and a store after the loop.
*** 13905,13910 ****
--- 14014,14020 ----
  Not enabled at any optimization level.
  
  @opindex fgcse-las
+ @opindex fno-gcse-las
  @item -fgcse-las
  When @option{-fgcse-las} is enabled, the global common subexpression
  elimination pass eliminates redundant loads that come after stores to the
*************** same memory location (both partial and f
*** 13913,13918 ****
--- 14023,14029 ----
  Not enabled at any optimization level.
  
  @opindex fgcse-after-reload
+ @opindex fno-gcse-after-reload
  @item -fgcse-after-reload
  When @option{-fgcse-after-reload} is enabled, a redundant load elimination
  pass is performed after reload.  The purpose of this pass is to clean up
*************** redundant spilling.
*** 13921,13926 ****
--- 14032,14038 ----
  Enabled by @option{-O3}, @option{-fprofile-use} and @option{-fauto-profile}.
  
  @opindex faggressive-loop-optimizations
+ @opindex fno-aggressive-loop-optimizations
  @item -faggressive-loop-optimizations
  This option tells the loop optimizer to use language constraints to
  derive bounds for the number of iterations of a loop.  This assumes that
*************** and loop exit test optimizations.
*** 13931,13942 ****
--- 14043,14056 ----
  This option is enabled by default.
  
  @opindex funconstrained-commons
+ @opindex fno-unconstrained-commons
  @item -funconstrained-commons
  This option tells the compiler that variables declared in common blocks
  (e.g.@: Fortran) may later be overridden with longer trailing arrays. This
  prevents certain optimizations that depend on knowing the array bounds.
  
  @opindex fcrossjumping
+ @opindex fno-crossjumping
  @item -fcrossjumping
  Perform cross-jumping transformation.
  This transformation unifies equivalent code and saves code size.  The
*************** resulting code may or may not perform be
*** 13945,13950 ****
--- 14059,14065 ----
  Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex fauto-inc-dec
+ @opindex fno-auto-inc-dec
  @item -fauto-inc-dec
  Combine increments or decrements of addresses with memory accesses.
  This pass is always skipped on architectures that do not have
*************** instructions to support this.  Enabled b
*** 13952,13967 ****
--- 14067,14085 ----
  higher on architectures that support this.
  
  @opindex fdce
+ @opindex fno-dce
  @item -fdce
  Perform dead code elimination (DCE) on RTL@.
  Enabled by default at @option{-O1} and higher.
  
  @opindex fdse
+ @opindex fno-dse
  @item -fdse
  Perform dead store elimination (DSE) on RTL@.
  Enabled by default at @option{-O1} and higher.
  
  @opindex fif-conversion
+ @opindex fno-if-conversion
  @item -fif-conversion
  Attempt to transform conditional jumps into branch-less equivalents.  This
  includes use of conditional moves, min, max, set flags and abs instructions, and
*************** Enabled at levels @option{-O1}, @option{
*** 13972,13977 ****
--- 14090,14096 ----
  not with @option{-Og}.
  
  @opindex fif-conversion2
+ @opindex fno-if-conversion2
  @item -fif-conversion2
  Use conditional execution (where available) to transform conditional jumps into
  branch-less equivalents.
*************** Enabled at levels @option{-O1}, @option{
*** 13980,13985 ****
--- 14099,14105 ----
  not with @option{-Og}.
  
  @opindex fdeclone-ctor-dtor
+ @opindex fno-declone-ctor-dtor
  @item -fdeclone-ctor-dtor
  The C++ ABI requires multiple entry points for constructors and
  destructors: one for a base subobject, one for a complete object, and
*************** implementation.
*** 13992,13997 ****
--- 14112,14118 ----
  Enabled by @option{-Os}.
  
  @opindex fdelete-null-pointer-checks
+ @opindex fno-delete-null-pointer-checks
  @item -fdelete-null-pointer-checks
  Assume that programs cannot safely dereference null pointers, and that
  no code or data element resides at address zero.
*************** Passes that use the dataflow information
*** 14014,14019 ****
--- 14135,14141 ----
  are enabled independently at different optimization levels.
  
  @opindex fdevirtualize
+ @opindex fno-devirtualize
  @item -fdevirtualize
  Attempt to convert calls to virtual functions to direct calls.  This
  is done both within a procedure and interprocedurally as part of
*************** propagation (@option{-fipa-cp}).
*** 14022,14027 ****
--- 14144,14150 ----
  Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex fdevirtualize-speculatively
+ @opindex fno-devirtualize-speculatively
  @item -fdevirtualize-speculatively
  Attempt to convert calls to virtual functions to speculative direct calls.
  Based on the analysis of the type inheritance graph, determine for a given call
*************** speculative calls enable more optimizati
*** 14031,14036 ****
--- 14154,14160 ----
  useless after further optimization, they are converted back into original form.
  
  @opindex fdevirtualize-at-ltrans
+ @opindex fno-devirtualize-at-ltrans
  @item -fdevirtualize-at-ltrans
  Stream extra information needed for aggressive devirtualization when running
  the link-time optimizer in local transformation mode.
*************** significantly increases the size of stre
*** 14039,14044 ****
--- 14163,14169 ----
  disabled by default.
  
  @opindex fexpensive-optimizations
+ @opindex fno-expensive-optimizations
  @item -fexpensive-optimizations
  Perform a number of minor optimizations that are relatively expensive.
  
*************** Perform dead code elimination on zero an
*** 14052,14057 ****
--- 14177,14183 ----
  dataflow analysis.
  
  @opindex free
+ @opindex fno-ree
  @item -free
  Attempt to remove redundant extension instructions.  This is especially
  helpful for the x86-64 architecture, which implicitly zero-extends in 64-bit
*************** explicitly selected with @option{-flifet
*** 14077,14082 ****
--- 14203,14209 ----
  @option{-flifetime-dse=0} is equivalent to @option{-fno-lifetime-dse}.
  
  @opindex flive-range-shrinkage
+ @opindex fno-live-range-shrinkage
  @item -flive-range-shrinkage
  Attempt to decrease register pressure through register live range
  shrinkage.  This is helpful for fast processors with small or moderate
*************** This typically results in the smallest c
*** 14118,14123 ****
--- 14245,14251 ----
  @end table
  
  @opindex fira-hoist-pressure
+ @opindex fno-ira-hoist-pressure
  @item -fira-hoist-pressure
  Use IRA to evaluate register pressure in the code hoisting pass for
  decisions to hoist expressions.  This option usually results in smaller
*************** code, but it can slow the compiler down.
*** 14126,14131 ****
--- 14254,14260 ----
  This option is enabled at level @option{-Os} for all targets.
  
  @opindex fira-loop-pressure
+ @opindex fno-ira-loop-pressure
  @item -fira-loop-pressure
  Use IRA to evaluate register pressure in loops for decisions to move
  loop invariants.  This option usually results in generation
*************** pseudo-register that does not get a hard
*** 14150,14155 ****
--- 14279,14285 ----
  stack slot, and as a result function stack frames are larger.
  
  @opindex flra-remat
+ @opindex fno-lra-remat
  @item -flra-remat
  Enable CFG-sensitive rematerialization in LRA.  Instead of loading
  values of spilled pseudos, LRA tries to rematerialize (recalculate)
*************** values if it is profitable.
*** 14158,14163 ****
--- 14288,14294 ----
  Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex fdelayed-branch
+ @opindex fno-delayed-branch
  @item -fdelayed-branch
  If supported for the target machine, attempt to reorder instructions
  to exploit instruction slots available after delayed branch
*************** Enabled at levels @option{-O1}, @option{
*** 14167,14172 ****
--- 14298,14304 ----
  but not at @option{-Og}.
  
  @opindex fschedule-insns
+ @opindex fno-schedule-insns
  @item -fschedule-insns
  If supported for the target machine, attempt to reorder instructions to
  eliminate execution stalls due to required data being unavailable.  This
*************** However, many targets override this beha
*** 14179,14184 ****
--- 14311,14317 ----
  disabled at all levels, while on AArch64, it is enabled only at @option{-O3}.
  
  @opindex fschedule-insns2
+ @opindex fno-schedule-insns2
  @item -fschedule-insns2
  Similar to @option{-fschedule-insns}, but requests an additional pass of
  instruction scheduling after register allocation has been done.  This is
*************** is normally enabled when scheduling befo
*** 14202,14207 ****
--- 14335,14341 ----
  with @option{-fschedule-insns} or at @option{-O2} or higher.
  
  @opindex fsched-pressure
+ @opindex fno-sched-pressure
  @item -fsched-pressure
  Enable register pressure sensitive insn scheduling before register
  allocation.  This only makes sense when scheduling before register
*************** increase above the number of available h
*** 14212,14229 ****
--- 14346,14366 ----
  spills in register allocation.
  
  @opindex fsched-spec-load
+ @opindex fno-sched-spec-load
  @item -fsched-spec-load
  Allow speculative motion of some load instructions.  This only makes
  sense when scheduling before register allocation, i.e.@: with
  @option{-fschedule-insns} or at @option{-O2} or higher.
  
  @opindex fsched-spec-load-dangerous
+ @opindex fno-sched-spec-load-dangerous
  @item -fsched-spec-load-dangerous
  Allow speculative motion of more load instructions.  This only makes
  sense when scheduling before register allocation, i.e.@: with
  @option{-fschedule-insns} or at @option{-O2} or higher.
  
  @opindex fsched-stalled-insns
+ @opindex fno-sched-stalled-insns
  @item -fsched-stalled-insns
  @itemx -fsched-stalled-insns=@var{n}
  Define how many insns (if any) can be moved prematurely from the queue
*************** on how many queued insns can be moved pr
*** 14235,14240 ****
--- 14372,14378 ----
  @option{-fsched-stalled-insns=1}.
  
  @opindex fsched-stalled-insns-dep
+ @opindex fno-sched-stalled-insns-dep
  @item -fsched-stalled-insns-dep
  @itemx -fsched-stalled-insns-dep=@var{n}
  Define how many insn groups (cycles) are examined for a dependency
*************** and only if @option{-fsched-stalled-insn
*** 14247,14252 ****
--- 14385,14391 ----
  @option{-fsched-stalled-insns-dep=1}.
  
  @opindex fsched2-use-superblocks
+ @opindex fno-sched2-use-superblocks
  @item -fsched2-use-superblocks
  When scheduling after register allocation, use superblock scheduling.
  This allows motion across basic block boundaries,
*************** This only makes sense when scheduling af
*** 14258,14263 ****
--- 14397,14403 ----
  @option{-fschedule-insns2} or at @option{-O2} or higher.
  
  @opindex fsched-group-heuristic
+ @opindex fno-sched-group-heuristic
  @item -fsched-group-heuristic
  Enable the group heuristic in the scheduler.  This heuristic favors
  the instruction that belongs to a schedule group.  This is enabled
*************** by default when scheduling is enabled, i
*** 14265,14270 ****
--- 14405,14411 ----
  or @option{-fschedule-insns2} or at @option{-O2} or higher.
  
  @opindex fsched-critical-path-heuristic
+ @opindex fno-sched-critical-path-heuristic
  @item -fsched-critical-path-heuristic
  Enable the critical-path heuristic in the scheduler.  This heuristic favors
  instructions on the critical path.  This is enabled by default when
*************** scheduling is enabled, i.e.@: with @opti
*** 14272,14277 ****
--- 14413,14419 ----
  or @option{-fschedule-insns2} or at @option{-O2} or higher.
  
  @opindex fsched-spec-insn-heuristic
+ @opindex fno-sched-spec-insn-heuristic
  @item -fsched-spec-insn-heuristic
  Enable the speculative instruction heuristic in the scheduler.  This
  heuristic favors speculative instructions with greater dependency weakness.
*************** with @option{-fschedule-insns} or @optio
*** 14280,14285 ****
--- 14422,14428 ----
  or at @option{-O2} or higher.
  
  @opindex fsched-rank-heuristic
+ @opindex fno-sched-rank-heuristic
  @item -fsched-rank-heuristic
  Enable the rank heuristic in the scheduler.  This heuristic favors
  the instruction belonging to a basic block with greater size or frequency.
*************** with @option{-fschedule-insns} or @optio
*** 14288,14293 ****
--- 14431,14437 ----
  at @option{-O2} or higher.
  
  @opindex fsched-last-insn-heuristic
+ @opindex fno-sched-last-insn-heuristic
  @item -fsched-last-insn-heuristic
  Enable the last-instruction heuristic in the scheduler.  This heuristic
  favors the instruction that is less dependent on the last instruction
*************** i.e.@: with @option{-fschedule-insns} or
*** 14296,14301 ****
--- 14440,14446 ----
  at @option{-O2} or higher.
  
  @opindex fsched-dep-count-heuristic
+ @opindex fno-sched-dep-count-heuristic
  @item -fsched-dep-count-heuristic
  Enable the dependent-count heuristic in the scheduler.  This heuristic
  favors the instruction that has more instructions depending on it.
*************** with @option{-fschedule-insns} or @optio
*** 14304,14309 ****
--- 14449,14455 ----
  at @option{-O2} or higher.
  
  @opindex fspeculatively-call-stored-functions
+ @opindex fno-speculatively-call-stored-functions
  @item -fspeculatively-call-stored-functions
  Attempt to convert indirect calls of function pointers to pointers
  loaded from a structure field if all visible stores to that field store
*************** inlining.  When they seem useless after
*** 14314,14346 ****
--- 14460,14498 ----
  converted back into original form.
  
  @opindex freschedule-modulo-scheduled-loops
+ @opindex fno-reschedule-modulo-scheduled-loops
  @item -freschedule-modulo-scheduled-loops
  Modulo scheduling is performed before traditional scheduling.  If a loop
  is modulo scheduled, later scheduling passes may change its schedule.
  Use this option to control that behavior.
  
  @opindex fselective-scheduling
+ @opindex fno-selective-scheduling
  @item -fselective-scheduling
  Schedule instructions using selective scheduling algorithm.  Selective
  scheduling runs instead of the first scheduler pass.
  
  @opindex fselective-scheduling2
+ @opindex fno-selective-scheduling2
  @item -fselective-scheduling2
  Schedule instructions using selective scheduling algorithm.  Selective
  scheduling runs instead of the second scheduler pass.
  
  @opindex fsel-sched-pipelining
+ @opindex fno-sel-sched-pipelining
  @item -fsel-sched-pipelining
  Enable software pipelining of innermost loops during selective scheduling.
  This option has no effect unless one of @option{-fselective-scheduling} or
  @option{-fselective-scheduling2} is turned on.
  
  @opindex fsel-sched-pipelining-outer-loops
+ @opindex fno-sel-sched-pipelining-outer-loops
  @item -fsel-sched-pipelining-outer-loops
  When pipelining loops during selective scheduling, also pipeline outer loops.
  This option has no effect unless @option{-fsel-sched-pipelining} is turned on.
  
  @opindex fsemantic-interposition
+ @opindex fno-semantic-interposition
  @item -fsemantic-interposition
  Some object formats, like ELF, allow interposing of symbols by the
  dynamic linker.
*************** has no effect for functions explicitly d
*** 14359,14370 ****
--- 14511,14524 ----
  and for symbols explicitly declared weak.
  
  @opindex fshrink-wrap
+ @opindex fno-shrink-wrap
  @item -fshrink-wrap
  Emit function prologues only before parts of the function that need it,
  rather than at the top of the function.  This flag is enabled by default at
  @option{-O} and higher.
  
  @opindex fshrink-wrap-separate
+ @opindex fno-shrink-wrap-separate
  @item -fshrink-wrap-separate
  Shrink-wrap separate parts of the prologue and epilogue separately, so that
  those parts are only executed when needed.
*************** This option is on by default, but has no
*** 14372,14377 ****
--- 14526,14532 ----
  is also turned on and the target supports this.
  
  @opindex fcaller-saves
+ @opindex fno-caller-saves
  @item -fcaller-saves
  Enable allocation of values to registers that are clobbered by
  function calls, by emitting extra instructions to save and restore the
*************** those which have no call-preserved regis
*** 14384,14389 ****
--- 14539,14545 ----
  Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex fcombine-stack-adjustments
+ @opindex fno-combine-stack-adjustments
  @item -fcombine-stack-adjustments
  Tracks stack adjustments (pushes and pops) and stack memory references
  and then tries to find ways to combine them.
*************** and then tries to find ways to combine t
*** 14391,14396 ****
--- 14547,14553 ----
  Enabled by default at @option{-O1} and higher.
  
  @opindex fipa-ra
+ @opindex fno-ipa-ra
  @item -fipa-ra
  Use caller save registers for allocation if those registers are not used by
  any called function.  In that case it is not necessary to save and restore
*************** exactly (this happens on targets that do
*** 14404,14409 ****
--- 14561,14567 ----
  and epilogues in RTL).
  
  @opindex fconserve-stack
+ @opindex fno-conserve-stack
  @item -fconserve-stack
  Attempt to minimize stack usage.  The compiler attempts to use less
  stack space, even if that makes the program slower.  This option
*************** implies setting the @option{large-stack-
*** 14411,14421 ****
--- 14569,14581 ----
  and the @option{large-stack-frame-growth} parameter to 400.
  
  @opindex ftree-reassoc
+ @opindex fno-tree-reassoc
  @item -ftree-reassoc
  Perform reassociation on trees.  This flag is enabled by default
  at @option{-O1} and higher.
  
  @opindex fcode-hoisting
+ @opindex fno-code-hoisting
  @item -fcode-hoisting
  Perform code hoisting.  Code hoisting tries to move the
  evaluation of expressions executed on all paths to the function exit
*************** optimization, but it often helps for cod
*** 14424,14444 ****
--- 14584,14608 ----
  This flag is enabled by default at @option{-O2} and higher.
  
  @opindex ftree-pre
+ @opindex fno-tree-pre
  @item -ftree-pre
  Perform partial redundancy elimination (PRE) on trees.  This flag is
  enabled by default at @option{-O2} and @option{-O3}.
  
  @opindex ftree-partial-pre
+ @opindex fno-tree-partial-pre
  @item -ftree-partial-pre
  Make partial redundancy elimination (PRE) more aggressive.  This flag is
  enabled by default at @option{-O3}.
  
  @opindex ftree-forwprop
+ @opindex fno-tree-forwprop
  @item -ftree-forwprop
  Perform forward propagation on trees.  This flag is enabled by default
  at @option{-O1} and higher.
  
  @opindex ftree-fre
+ @opindex fno-tree-fre
  @item -ftree-fre
  Perform full redundancy elimination (FRE) on trees.  The difference
  between FRE and PRE is that FRE only considers expressions
*************** This analysis is faster than PRE, though
*** 14447,14457 ****
--- 14611,14623 ----
  This flag is enabled by default at @option{-O1} and higher.
  
  @opindex ftree-phiprop
+ @opindex fno-tree-phiprop
  @item -ftree-phiprop
  Perform hoisting of loads from conditional pointers on trees.  This
  pass is enabled by default at @option{-O1} and higher.
  
  @opindex fhoist-adjacent-loads
+ @opindex fno-hoist-adjacent-loads
  @item -fhoist-adjacent-loads
  Speculatively hoist loads from both branches of an if-then-else if the
  loads are from adjacent locations in the same structure and the target
*************** architecture has a conditional move inst
*** 14459,14486 ****
--- 14625,14657 ----
  by default at @option{-O2} and higher.
  
  @opindex ftree-copy-prop
+ @opindex fno-tree-copy-prop
  @item -ftree-copy-prop
  Perform copy propagation on trees.  This pass eliminates unnecessary
  copy operations.  This flag is enabled by default at @option{-O1} and
  higher.
  
  @opindex fipa-pure-const
+ @opindex fno-ipa-pure-const
  @item -fipa-pure-const
  Discover which functions are pure or constant.
  Enabled by default at @option{-O1} and higher.
  
  @opindex fipa-reference
+ @opindex fno-ipa-reference
  @item -fipa-reference
  Discover which static variables do not escape the
  compilation unit.
  Enabled by default at @option{-O1} and higher.
  
  @opindex fipa-reference-addressable
+ @opindex fno-ipa-reference-addressable
  @item -fipa-reference-addressable
  Discover read-only, write-only and non-addressable static variables.
  Enabled by default at @option{-O1} and higher.
  
  @opindex fipa-reorder-for-locality
+ @opindex fno-ipa-reorder-for-locality
  @item -fipa-reorder-for-locality
  Group call chains close together in the binary layout to improve code
  locality and minimize jump distances between frequently called functions.
*************** If using this option it is recommended t
*** 14496,14506 ****
--- 14667,14679 ----
  option is not enabled by default otherwise.
  
  @opindex fipa-stack-alignment
+ @opindex fno-ipa-stack-alignment
  @item -fipa-stack-alignment
  Reduce stack alignment on call sites if possible.
  Enabled by default.
  
  @opindex fipa-pta
+ @opindex fno-ipa-pta
  @item -fipa-pta
  Perform interprocedural pointer analysis and interprocedural modification
  and reference analysis.  This option can cause excessive memory and
*************** compile-time usage on large compilation
*** 14508,14513 ****
--- 14681,14687 ----
  default at any optimization level.
  
  @opindex fipa-profile
+ @opindex fno-ipa-profile
  @item -fipa-profile
  Perform interprocedural profile propagation.  The functions called only from
  cold functions are marked as cold. Also functions executed once (such as
*************** then optimized for size.
*** 14517,14522 ****
--- 14691,14697 ----
  Enabled by default at @option{-O1} and higher.
  
  @opindex fipa-modref
+ @opindex fno-ipa-modref
  @item -fipa-modref
  Perform interprocedural mod/ref analysis.  This optimization analyzes the side
  effects of functions (memory locations that are modified or referenced) and
*************** enables better optimization across the f
*** 14524,14529 ****
--- 14699,14705 ----
  enabled by default at @option{-O1} and higher.
  
  @opindex fipa-cp
+ @opindex fno-ipa-cp
  @item -fipa-cp
  Perform interprocedural constant propagation.
  This optimization analyzes the program to determine when values passed
*************** This flag is enabled by default at @opti
*** 14534,14539 ****
--- 14710,14716 ----
  It is also enabled by @option{-fprofile-use} and @option{-fauto-profile}.
  
  @opindex fipa-cp-clone
+ @opindex fno-ipa-cp-clone
  @item -fipa-cp-clone
  Perform function cloning to make interprocedural constant propagation stronger.
  When enabled, interprocedural constant propagation performs function cloning
*************** This flag is enabled by default at @opti
*** 14545,14550 ****
--- 14722,14728 ----
  It is also enabled by @option{-fprofile-use} and @option{-fauto-profile}.
  
  @opindex fipa-bit-cp
+ @opindex fno-ipa-bit-cp
  @item -fipa-bit-cp
  When enabled, perform interprocedural bitwise constant
  propagation. This flag is enabled by default at @option{-O2} and
*************** by @option{-fprofile-use} and @option{-f
*** 14552,14557 ****
--- 14730,14736 ----
  It requires that @option{-fipa-cp} is enabled.
  
  @opindex fipa-vrp
+ @opindex fno-ipa-vrp
  @item -fipa-vrp
  When enabled, perform interprocedural propagation of value
  ranges. This flag is enabled by default at @option{-O2}. It requires
*************** equivalences that are found only by GCC
*** 14580,14585 ****
--- 14759,14765 ----
  @option{-fipa-icf} is enabled by default at @option{-O2} and @option{-Os}.
  
  @opindex flate-combine-instructions
+ @opindex fno-late-combine-instructions
  @item -flate-combine-instructions
  Enable two instruction combination passes that run relatively late in the
  compilation process.  One of the passes runs before register allocation and
*************** Note that @option{-flive-patching} is no
*** 14650,14655 ****
--- 14830,14836 ----
  (@option{-flto}).
  
  @opindex fisolate-erroneous-paths-dereference
+ @opindex fno-isolate-erroneous-paths-dereference
  @item -fisolate-erroneous-paths-dereference
  Detect paths that trigger erroneous or undefined behavior due to
  dereferencing a null pointer (with @option{-fdelete-null-pointer-checks}
*************** flow and turn the statement with erroneo
*** 14658,14663 ****
--- 14839,14845 ----
  trap.  This flag is enabled by default at @option{-O2} and higher.
  
  @opindex fisolate-erroneous-paths-attribute
+ @opindex fno-isolate-erroneous-paths-attribute
  @item -fisolate-erroneous-paths-attribute
  Detect paths that trigger erroneous or undefined behavior due to a null value
  being used in a way forbidden by a @code{returns_nonnull} or @code{nonnull}
*************** statement with erroneous or undefined be
*** 14666,14676 ****
--- 14848,14860 ----
  currently enabled, but may be enabled by @option{-O2} in the future.
  
  @opindex ftree-sink
+ @opindex fno-tree-sink
  @item -ftree-sink
  Perform forward store motion on trees.  This flag is
  enabled by default at @option{-O1} and higher.
  
  @opindex ftree-bit-ccp
+ @opindex fno-tree-bit-ccp
  @item -ftree-bit-ccp
  Perform sparse conditional bit constant propagation on trees and propagate
  pointer alignment information.
*************** at @option{-O1} and higher, except for @
*** 14679,14690 ****
--- 14863,14876 ----
  It requires that @option{-ftree-ccp} is enabled.
  
  @opindex ftree-ccp
+ @opindex fno-tree-ccp
  @item -ftree-ccp
  Perform sparse conditional constant propagation (CCP) on trees.  This
  pass only operates on local scalar variables and is enabled by default
  at @option{-O1} and higher.
  
  @opindex fssa-backprop
+ @opindex fno-ssa-backprop
  @item -fssa-backprop
  Propagate information about uses of a value up the definition chain
  in order to simplify the definitions.  For example, this pass strips
*************** sign operations if the sign of a value n
*** 14692,14709 ****
--- 14878,14898 ----
  enabled by default at @option{-O1} and higher.
  
  @opindex fssa-phiopt
+ @opindex fno-ssa-phiopt
  @item -fssa-phiopt
  Perform pattern matching on SSA PHI nodes to optimize conditional
  code.  This pass is enabled by default at @option{-O1} and higher,
  except for @option{-Og}.
  
  @opindex ftree-switch-conversion
+ @opindex fno-tree-switch-conversion
  @item -ftree-switch-conversion
  Perform conversion of simple initializations in a switch to
  initializations from a scalar array.  This flag is enabled by default
  at @option{-O2} and higher.
  
  @opindex ftree-tail-merge
+ @opindex fno-tree-tail-merge
  @item -ftree-tail-merge
  Look for identical code sequences.  When found, replace one with a jump to the
  other.  This optimization is known as tail merging or cross jumping.  This flag
*************** be limited using @option{max-tail-merge-
*** 14713,14729 ****
--- 14902,14921 ----
  @option{max-tail-merge-iterations} parameter.
  
  @opindex ftree-cselim
+ @opindex fno-tree-cselim
  @item -ftree-cselim
  Perform conditional store elimination on trees.  This flag is enabled by
  default at @option{-O1} and higher on targets that have conditional
  move instructions.
  
  @opindex ftree-dce
+ @opindex fno-tree-dce
  @item -ftree-dce
  Perform dead code elimination (DCE) on trees.  This flag is enabled by
  default at @option{-O1} and higher.
  
  @opindex ftree-builtin-call-dce
+ @opindex fno-tree-builtin-call-dce
  @item -ftree-builtin-call-dce
  Perform conditional dead code elimination (DCE) for calls to built-in functions
  that may set @code{errno} but are otherwise free of side effects.  This flag is
*************** This option is enabled by default at @op
*** 14741,14746 ****
--- 14933,14939 ----
  or higher.
  
  @opindex ftree-dominator-opts
+ @opindex fno-tree-dominator-opts
  @item -ftree-dominator-opts
  Perform a variety of simple scalar cleanups (constant/copy
  propagation, redundancy elimination, range propagation and expression
*************** performs jump threading (to reduce jumps
*** 14749,14754 ****
--- 14942,14948 ----
  enabled by default at @option{-O1} and higher.
  
  @opindex ftree-dse
+ @opindex fno-tree-dse
  @item -ftree-dse
  Perform dead store elimination (DSE) on trees.  A dead store is a store into
  a memory location that is later overwritten by another store without
*************** any intervening loads.  In this case the
*** 14756,14761 ****
--- 14950,14956 ----
  flag is enabled by default at @option{-O1} and higher.
  
  @opindex ftree-ch
+ @opindex fno-tree-ch
  @item -ftree-ch
  Perform loop header copying on trees.  This is beneficial since it increases
  effectiveness of code motion optimizations.  It also saves one jump.  This flag
*************** is enabled by default at @option{-O1} an
*** 14763,14775 ****
--- 14958,14974 ----
  for @option{-Os}, since it usually increases code size.
  
  @opindex ftree-loop-optimize
+ @opindex fno-tree-loop-optimize
  @item -ftree-loop-optimize
  Perform loop optimizations on trees.  This flag is enabled by default
  at @option{-O1} and higher.
  
  @opindex ftree-loop-linear
+ @opindex fno-tree-loop-linear
  @opindex floop-strip-mine
+ @opindex fno-loop-strip-mine
  @opindex floop-block
+ @opindex fno-loop-block
  @item -ftree-loop-linear
  @itemx -floop-strip-mine
  @itemx -floop-block
*************** to be configured with @option{--with-isl
*** 14779,14784 ****
--- 14978,14984 ----
  transformation infrastructure.
  
  @opindex fgraphite-identity
+ @opindex fno-graphite-identity
  @item -fgraphite-identity
  Enable the identity transformation for graphite.  For every SCoP we generate
  the polyhedral representation and transform it back to gimple.  Using
*************** are also performed by the code generator
*** 14788,14793 ****
--- 14988,14994 ----
  dead code elimination in loops.
  
  @opindex floop-nest-optimize
+ @opindex fno-loop-nest-optimize
  @item -floop-nest-optimize
  Enable the isl based loop nest optimizer.  This is a generic loop nest
  optimizer based on the Pluto optimization algorithms.  It calculates a loop
*************** structure optimized for data-locality an
*** 14795,14800 ****
--- 14996,15002 ----
  is experimental.
  
  @opindex floop-parallelize-all
+ @opindex fno-loop-parallelize-all
  @item -floop-parallelize-all
  Use the Graphite data dependence analysis to identify loops that can
  be parallelized.  Parallelize all the loops that can be analyzed to
*************** not contain loop carried dependences wit
*** 14802,14807 ****
--- 15004,15010 ----
  profitable to parallelize the loops.
  
  @opindex ftree-coalesce-vars
+ @opindex fno-tree-coalesce-vars
  @item -ftree-coalesce-vars
  While transforming the program out of the SSA representation, attempt to
  reduce copying by coalescing versions of different user-defined
*************** prevents SSA coalescing of user variable
*** 14812,14817 ****
--- 15015,15021 ----
  default if optimization is enabled, and it does very little otherwise.
  
  @opindex ftree-loop-if-convert
+ @opindex fno-tree-loop-if-convert
  @item -ftree-loop-if-convert
  Attempt to transform conditional jumps in the innermost loops to
  branch-less equivalents.  The intent is to remove control-flow from
*************** vectorization pass to handle these loops
*** 14820,14825 ****
--- 15024,15030 ----
  if vectorization is enabled.
  
  @opindex ftree-loop-distribution
+ @opindex fno-tree-loop-distribution
  @item -ftree-loop-distribution
  Perform loop distribution.  This flag can improve cache performance on
  big loop bodies and allow further loop optimizations, like
*************** This flag is enabled by default at @opti
*** 14843,14848 ****
--- 15048,15054 ----
  It is also enabled by @option{-fprofile-use} and @option{-fauto-profile}.
  
  @opindex ftree-loop-distribute-patterns
+ @opindex fno-tree-loop-distribute-patterns
  @item -ftree-loop-distribute-patterns
  Perform loop distribution of patterns that can be code generated with
  calls to a library.  This flag is enabled by default at @option{-O2} and
*************** ENDDO
*** 14868,14873 ****
--- 15074,15080 ----
  and the initialization loop is transformed into a call to memset zero.
  
  @opindex floop-interchange
+ @opindex fno-loop-interchange
  @item -floop-interchange
  Perform loop interchange outside of graphite.  This flag can improve cache
  performance on loop nest and allow further loop optimizations, like
*************** This flag is enabled by default at @opti
*** 14889,14894 ****
--- 15096,15102 ----
  It is also enabled by @option{-fprofile-use} and @option{-fauto-profile}.
  
  @opindex floop-unroll-and-jam
+ @opindex fno-loop-unroll-and-jam
  @item -floop-unroll-and-jam
  Apply unroll and jam transformations on feasible loops.  In a loop
  nest this unrolls the outer loop by some factor and fuses the resulting
*************** multiple inner loops.  This flag is enab
*** 14896,14901 ****
--- 15104,15110 ----
  It is also enabled by @option{-fprofile-use} and @option{-fauto-profile}.
  
  @opindex ftree-loop-im
+ @opindex fno-tree-loop-im
  @item -ftree-loop-im
  Perform loop invariant motion on trees.  This pass moves only invariants that
  are hard to handle at RTL level (function calls, operations that expand to
*************** just trivial invariantness analysis in l
*** 14905,14910 ****
--- 15114,15120 ----
  store motion.
  
  @opindex ftree-loop-ivcanon
+ @opindex fno-tree-loop-ivcanon
  @item -ftree-loop-ivcanon
  Create a canonical counter for number of iterations in loops for which
  determining number of iterations requires complicated analysis.  Later
*************** optimizations then may determine the num
*** 14912,14917 ****
--- 15122,15128 ----
  in connection with unrolling.
  
  @opindex ftree-scev-cprop
+ @opindex fno-tree-scev-cprop
  @item -ftree-scev-cprop
  Perform final value replacement.  If a variable is modified in a loop
  in such a way that its value when exiting the loop can be determined using
*************** This reduces data dependencies and may a
*** 14921,14932 ****
--- 15132,15145 ----
  Enabled by default at @option{-O1} and higher.
  
  @opindex fivopts
+ @opindex fno-ivopts
  @item -fivopts
  Perform induction variable optimizations (strength reduction, induction
  variable merging and induction variable elimination) on trees.
  Enabled by default at @option{-O1} and higher.
  
  @opindex ftree-parallelize-loops
+ @opindex fno-tree-parallelize-loops
  @item -ftree-parallelize-loops
  @itemx -ftree-parallelize-loops=@var{n}
  Parallelize loops, i.e., split their iteration space to run in multiple threads.
*************** processors and uses that value. This ena
*** 14949,14959 ****
--- 15162,15174 ----
  adapt to different hardware configurations without recompilation.
  
  @opindex ftree-pta
+ @opindex fno-tree-pta
  @item -ftree-pta
  Perform function-local points-to analysis on trees.  This flag is
  enabled by default at @option{-O1} and higher, except for @option{-Og}.
  
  @opindex ftree-sra
+ @opindex fno-tree-sra
  @item -ftree-sra
  Perform scalar replacement of aggregates.  This pass replaces structure
  references with scalars to prevent committing structures to memory too
*************** early.  This flag is enabled by default
*** 14961,14966 ****
--- 15176,15182 ----
  except for @option{-Og}.
  
  @opindex fstore-merging
+ @opindex fno-store-merging
  @item -fstore-merging
  Perform merging of narrow stores to consecutive memory addresses.  This pass
  merges contiguous stores of immediate values narrower than a word into fewer
*************** wider stores to reduce the number of ins
*** 14968,14973 ****
--- 15184,15190 ----
  at @option{-O2} and higher as well as @option{-Os}.
  
  @opindex ftree-ter
+ @opindex fno-tree-ter
  @item -ftree-ter
  Perform temporary expression replacement during the SSA->normal phase.  Single
  use/single def temporaries are replaced at their use location with their
*************** much more complex trees to work on resul
*** 14976,14981 ****
--- 15193,15199 ----
  enabled by default at @option{-O1} and higher.
  
  @opindex ftree-slsr
+ @opindex fno-tree-slsr
  @item -ftree-slsr
  Perform straight-line strength reduction on trees.  This recognizes related
  expressions involving multiplications and replaces them by less expensive
*************** calculations when possible.  This is ena
*** 14983,14999 ****
--- 15201,15220 ----
  higher.
  
  @opindex ftree-vectorize
+ @opindex fno-tree-vectorize
  @item -ftree-vectorize
  Perform vectorization on trees. This flag enables @option{-ftree-loop-vectorize}
  and @option{-ftree-slp-vectorize} if not explicitly specified.
  
  @opindex ftree-loop-vectorize
+ @opindex fno-tree-loop-vectorize
  @item -ftree-loop-vectorize
  Perform loop vectorization on trees. This flag is enabled by default at
  @option{-O2} and by @option{-ftree-vectorize}, @option{-fprofile-use},
  and @option{-fauto-profile}.
  
  @opindex ftree-slp-vectorize
+ @opindex fno-tree-slp-vectorize
  @item -ftree-slp-vectorize
  Perform basic block vectorization on trees. This flag is enabled by default at
  @option{-O2} and by @option{-ftree-vectorize}, @option{-fprofile-use},
*************** attribute @code{uninitialized} standard
*** 15064,15069 ****
--- 15285,15291 ----
  or the C++26 @code{[[indeterminate]]}.
  
  @opindex fvect-cost-model
+ @opindex fno-vect-cost-model
  @item -fvect-cost-model=@var{model}
  Alter the cost model used for vectorization.  The @var{model} argument
  should be one of @samp{unlimited}, @samp{dynamic}, @samp{cheap} or
*************** have the same meaning as described in @o
*** 15092,15097 ****
--- 15314,15320 ----
  default a cost model defined with @option{-fvect-cost-model} is used.
  
  @opindex ftree-vrp
+ @opindex fno-tree-vrp
  @item -ftree-vrp
  Perform Value Range Propagation on trees.  This is similar to the
  constant propagation pass, but instead of values, ranges of values are
*************** elimination is only done if @option{-fde
*** 15102,15113 ****
--- 15325,15338 ----
  enabled.
  
  @opindex fsplit-paths
+ @opindex fno-split-paths
  @item -fsplit-paths
  Split paths leading to loop backedges.  This can improve dead code
  elimination and common subexpression elimination.  This is enabled by
  default at @option{-O3} and above.
  
  @opindex fsplit-ivs-in-unroller
+ @opindex fno-split-ivs-in-unroller
  @item -fsplit-ivs-in-unroller
  Enables expression of values of induction variables in later iterations
  of the unrolled loop using the value in the first iteration.  This breaks
*************** on some architectures due to restriction
*** 15121,15126 ****
--- 15346,15352 ----
  This optimization is enabled by default.
  
  @opindex fvariable-expansion-in-unroller
+ @opindex fno-variable-expansion-in-unroller
  @item -fvariable-expansion-in-unroller
  With this option, the compiler creates multiple copies of some
  local variables when unrolling a loop, which can result in superior code.
*************** This optimization is enabled by default
*** 15129,15134 ****
--- 15355,15361 ----
  by default otherwise.
  
  @opindex fpartial-inlining
+ @opindex fno-partial-inlining
  @item -fpartial-inlining
  Inline parts of functions.  This option has any effect only
  when inlining itself is turned on by the @option{-finline-functions}
*************** or @option{-finline-small-functions} opt
*** 15137,15142 ****
--- 15364,15370 ----
  Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex fpredictive-commoning
+ @opindex fno-predictive-commoning
  @item -fpredictive-commoning
  Perform predictive commoning optimization, i.e., reusing computations
  (especially memory loads and stores) performed in previous
*************** This option is enabled at level @option{
*** 15146,15151 ****
--- 15374,15380 ----
  It is also enabled by @option{-fprofile-use} and @option{-fauto-profile}.
  
  @opindex fprefetch-loop-arrays
+ @opindex fno-prefetch-loop-arrays
  @item -fprefetch-loop-arrays
  If supported by the target machine, generate instructions to prefetch
  memory to improve the performance of loops that access large arrays.
*************** The default is @option{-fguess-branch-pr
*** 15217,15222 ****
--- 15446,15452 ----
  @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex freorder-blocks
+ @opindex fno-reorder-blocks
  @item -freorder-blocks
  Reorder basic blocks in the compiled function in order to reduce number of
  taken branches and improve code locality.
*************** taken branches and improve code locality
*** 15224,15229 ****
--- 15454,15460 ----
  Enabled at levels @option{-O1}, @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex freorder-blocks-algorithm
+ @opindex fno-reorder-blocks-algorithm
  @item -freorder-blocks-algorithm=@var{algorithm}
  Use the specified algorithm for basic block reordering.  The
  @var{algorithm} argument can be @samp{simple}, which does not increase
*************** The default is @samp{simple} at levels @
*** 15236,15241 ****
--- 15467,15473 ----
  @samp{stc} at levels @option{-O2}, @option{-O3}.
  
  @opindex freorder-blocks-and-partition
+ @opindex fno-reorder-blocks-and-partition
  @item -freorder-blocks-and-partition
  In addition to reordering basic blocks in the compiled function, in order
  to reduce number of taken branches, partitions hot and cold basic blocks
*************** explicitly (if using a working linker).
*** 15252,15257 ****
--- 15484,15490 ----
  Enabled for x86 at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex freorder-functions
+ @opindex fno-reorder-functions
  @item -freorder-functions
  Reorder functions in the object file in order to
  improve code locality.  Unlike @option{-fipa-reorder-for-locality} this option
*************** This option isn't effective unless you e
*** 15269,15274 ****
--- 15502,15508 ----
  Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex fstrict-aliasing
+ @opindex fno-strict-aliasing
  @item -fstrict-aliasing
  Allow the compiler to assume the strictest aliasing rules applicable to
  the language being compiled.  For C (and C++), this activates
*************** The @option{-fstrict-aliasing} option is
*** 15325,15330 ****
--- 15559,15565 ----
  @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex fipa-strict-aliasing
+ @opindex fno-ipa-strict-aliasing
  @item -fipa-strict-aliasing
  Controls whether rules of @option{-fstrict-aliasing} are applied across
  function boundaries.  Note that if multiple functions gets inlined into a
*************** The @option{-fipa-strict-aliasing} optio
*** 15335,15340 ****
--- 15570,15576 ----
  effective only in combination with @option{-fstrict-aliasing}.
  
  @opindex falign-functions
+ @opindex fno-align-functions
  @item -falign-functions
  @itemx -falign-functions=@var{n}
  @itemx -falign-functions=@var{n}:@var{m}
*************** by the amount specified by @option{-fali
*** 15383,15388 ****
--- 15619,15625 ----
  skip more bytes than the size of the function.
  
  @opindex falign-labels
+ @opindex fno-align-labels
  @item -falign-labels
  @itemx -falign-labels=@var{n}
  @itemx -falign-labels=@var{n}:@var{m}
*************** The maximum allowed @var{n} option value
*** 15404,15409 ****
--- 15641,15647 ----
  Enabled at levels @option{-O2}, @option{-O3}.
  
  @opindex falign-loops
+ @opindex fno-align-loops
  @item -falign-loops
  @itemx -falign-loops=@var{n}
  @itemx -falign-loops=@var{n}:@var{m}
*************** If @var{n} is not specified or is zero,
*** 15428,15433 ****
--- 15666,15672 ----
  Enabled at levels @option{-O2}, @option{-O3}.
  
  @opindex falign-jumps
+ @opindex fno-align-jumps
  @item -falign-jumps
  @itemx -falign-jumps=@var{n}
  @itemx -falign-jumps=@var{n}:@var{m}
*************** in dead code elimination.
*** 15468,15473 ****
--- 15707,15713 ----
  See also @option{-fmalloc-dce}.
  
  @opindex fallow-store-data-races
+ @opindex fno-allow-store-data-races
  @item -fallow-store-data-races
  Allow the compiler to perform optimizations that may introduce new data races
  on stores, without proving that the variable cannot be concurrently accessed
*************** vectorization.
*** 15485,15490 ****
--- 15725,15731 ----
  Enabled at level @option{-Ofast}.
  
  @opindex funit-at-a-time
+ @opindex fno-unit-at-a-time
  @item -funit-at-a-time
  This option is left for compatibility reasons. @option{-funit-at-a-time}
  has no effect, while @option{-fno-unit-at-a-time} implies
*************** Additionally @option{-fno-toplevel-reord
*** 15508,15513 ****
--- 15749,15755 ----
  @option{-fno-section-anchors}.
  
  @opindex funreachable-traps
+ @opindex fno-unreachable-traps
  @item -funreachable-traps
  With this option, the compiler turns calls to
  @code{__builtin_unreachable} into traps, instead of using them for
*************** takes priority over this one.
*** 15522,15527 ****
--- 15764,15770 ----
  This option is enabled by default at @option{-O0} and @option{-Og}.
  
  @opindex fweb
+ @opindex fno-web
  @item -fweb
  Constructs webs as commonly used for register allocation purposes and assign
  each web individual pseudo register.  This allows the register allocation pass
*************** however, make debugging impossible, sinc
*** 15533,15538 ****
--- 15776,15782 ----
  Enabled by default with @option{-funroll-loops}.
  
  @opindex fwhole-program
+ @opindex fno-whole-program
  @item -fwhole-program
  Assume that the current compilation unit represents the whole program being
  compiled.  All public functions and variables with the exception of @code{main}
*************** final code is produced (with @option{-fl
*** 15547,15552 ****
--- 15791,15797 ----
  @option{-flinker-output=nolto-rel}).
  
  @opindex flto
+ @opindex fno-lto
  @item -flto[=@var{n}]
  This option runs the standard link-time optimizer.  When invoked
  with source code, it generates GIMPLE (one of GCC's internal
*************** or otherwise fall back to autodetection
*** 15777,15782 ****
--- 16022,16028 ----
  present in your system.
  
  @opindex flto-partition
+ @opindex fno-lto-partition
  @item -flto-partition=@var{alg}
  Specify the partitioning algorithm used by the link-time optimizer.
  The value is either @samp{1to1} to specify a partitioning mirroring
*************** used while the value @samp{none} bypasse
*** 15794,15799 ****
--- 16040,16046 ----
  the link-time optimization step directly from the WPA phase.
  
  @opindex flto-incremental
+ @opindex fno-lto-incremental
  @item -flto-incremental=@var{path}
  Enable incremental LTO, with its cache in given existing directory.
  Can significantly shorten edit-compile cycles with LTO.
*************** recompile time reduction.
*** 15806,15811 ****
--- 16053,16059 ----
  Multiple GCC instances can use the same cache in parallel.
  
  @opindex flto-incremental-cache-size
+ @opindex fno-lto-incremental-cache-size
  @item -flto-incremental-cache-size=@var{n}
  Specifies number of cache entries in incremental LTO after which to prune
  old entries. This is a soft limit, temporarily there may be more entries.
*************** Values outside this range are clamped to
*** 15821,15826 ****
--- 16069,16080 ----
  of the supported values.  If the option is not given,
  a default balanced compression setting is used.
  
+ @opindex flto-toplevel-asm-heuristics
+ @item -flto-toplevel-asm-heuristics
+ Enable heuristics to recognize symbol identifiers in top-level basic asm
+ (@pxref{Basic Asm}), and prevent them from being mangled or deleted during
+ link-time optimization.
+ 
  @opindex fuse-linker-plugin
  @item -fuse-linker-plugin
  Enables the use of a linker plugin during link-time optimization.  This
*************** and GCC was configured for use with
*** 15841,15846 ****
--- 16095,16101 ----
  a linker supporting plugins (GNU ld 2.21 or newer or gold).
  
  @opindex ffat-lto-objects
+ @opindex fno-fat-lto-objects
  @item -ffat-lto-objects
  Fat LTO objects are object files that contain both the intermediate language
  and the object code. This makes them usable for both LTO linking and normal
*************** The default is @option{-fno-fat-lto-obje
*** 15865,15870 ****
--- 16120,16126 ----
  support.
  
  @opindex fcompare-elim
+ @opindex fno-compare-elim
  @item -fcompare-elim
  After register allocation and post-register allocation instruction splitting,
  identify arithmetic instructions that compute processor flags similar to a
*************** the comparison operation before register
*** 15877,15882 ****
--- 16133,16139 ----
  Enabled at levels @option{-O1}, @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex ffold-mem-offsets
+ @opindex fno-fold-mem-offsets
  @item -ffold-mem-offsets
  @itemx -fno-fold-mem-offsets
  Try to eliminate add instructions by folding them in memory loads/stores.
*************** Try to eliminate add instructions by fol
*** 15884,15889 ****
--- 16141,16147 ----
  Enabled at levels @option{-O2}, @option{-O3}.
  
  @opindex fcprop-registers
+ @opindex fno-cprop-registers
  @item -fcprop-registers
  After register allocation and post-register allocation instruction splitting,
  perform a copy-propagation pass to try to reduce scheduling dependencies
*************** and occasionally eliminate the copy.
*** 15892,15897 ****
--- 16150,16156 ----
  Enabled at levels @option{-O1}, @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex fprofile-correction
+ @opindex fno-profile-correction
  @item -fprofile-correction
  Profiles collected using an instrumented binary for multi-threaded programs may
  be inconsistent due to missed counter updates. When this option is specified,
*************** default, GCC emits an error message when
*** 15901,15906 ****
--- 16160,16166 ----
  This option is enabled by @option{-fauto-profile}.
  
  @opindex fprofile-partial-training
+ @opindex fno-profile-partial-training
  @item -fprofile-partial-training
  With @code{-fprofile-use} all portions of programs not executed during
  training runs are optimized aggressively for size rather than speed.
*************** without profile feedback. This leads to
*** 15914,15919 ****
--- 16174,16180 ----
  training is not representative at the cost of significantly bigger code.
  
  @opindex fprofile-use
+ @opindex fno-profile-use
  @item -fprofile-use
  @itemx -fprofile-use=@var{path}
  Enable profile feedback-directed optimizations,
*************** If @var{path} is specified, GCC looks at
*** 15942,15947 ****
--- 16203,16209 ----
  the profile feedback data files. See @option{-fprofile-dir}.
  
  @opindex fauto-profile
+ @opindex fno-auto-profile
  @item -fauto-profile
  @itemx -fauto-profile=@var{path}
  Enable sampling-based feedback-directed optimizations,
*************** create_gcov --binary=your_program.unstri
*** 15981,15986 ****
--- 16243,16249 ----
  @end smallexample
  
  @opindex fauto-profile-inlining
+ @opindex fno-auto-profile-inlining
  @item -fauto-profile-inlining
  When auto-profile is available inline all relevant functions which was
  inlined in the tran run before reading the profile feedback.  This improves
*************** semantics apply without excess precision
*** 16028,16033 ****
--- 16291,16297 ----
  is unpredictable.
  
  @opindex ffloat-store
+ @opindex fno-float-store
  @item -ffloat-store
  Do not store floating-point variables in registers, and inhibit other
  options that might change whether a floating-point value is taken from a
*************** only on assignments and not casts as @op
*** 16040,16045 ****
--- 16304,16310 ----
  does.
  
  @opindex ffast-math
+ @opindex fno-fast-math
  @item -ffast-math
  Sets the options @option{-fno-math-errno}, @option{-funsafe-math-optimizations},
  @option{-ffinite-math-only}, @option{-fno-rounding-math},
*************** therefore no reason for the compiler to
*** 16076,16081 ****
--- 16341,16347 ----
  it might, and @option{-fno-math-errno} is the default.
  
  @opindex funsafe-math-optimizations
+ @opindex fno-unsafe-math-optimizations
  @item -funsafe-math-optimizations
  
  Allow optimizations for floating-point arithmetic that (a) assume
*************** Enables @option{-fno-signed-zeros}, @opt
*** 16096,16101 ****
--- 16362,16368 ----
  The default is @option{-fno-unsafe-math-optimizations}.
  
  @opindex fassociative-math
+ @opindex fno-associative-math
  @item -fassociative-math
  
  Allow re-association of operands in series of floating-point operations.
*************** is automatically enabled when both @opti
*** 16114,16119 ****
--- 16381,16387 ----
  The default is @option{-fno-associative-math}.
  
  @opindex freciprocal-math
+ @opindex fno-reciprocal-math
  @item -freciprocal-math
  
  Allow the reciprocal of a value to be used instead of dividing by
*************** precision and increases the number of fl
*** 16125,16130 ****
--- 16393,16399 ----
  The default is @option{-fno-reciprocal-math}.
  
  @opindex ffinite-math-only
+ @opindex fno-finite-math-only
  @item -ffinite-math-only
  Allow optimizations for floating-point arithmetic that assume
  that arguments and results are not NaNs or +-Infs.
*************** will be used along with @option{-froundi
*** 16171,16176 ****
--- 16440,16446 ----
  default state for @code{FENV_ACCESS}.
  
  @opindex frounding-math
+ @opindex fno-rounding-math
  @item -frounding-math
  Disable transformations and optimizations that assume default floating-point
  rounding behavior (round-to-nearest).
*************** will be used along with @option{-ftrappi
*** 16191,16196 ****
--- 16461,16467 ----
  default state for @code{FENV_ACCESS}.
  
  @opindex fsignaling-nans
+ @opindex fno-signaling-nans
  @item -fsignaling-nans
  Compile code assuming that IEEE signaling NaNs may generate user-visible
  traps during floating-point operations.  Setting this option disables
*************** This option is experimental and does not
*** 16206,16216 ****
--- 16477,16489 ----
  disable all GCC optimizations that affect signaling NaN behavior.
  
  @opindex fsingle-precision-constant
+ @opindex fno-single-precision-constant
  @item -fsingle-precision-constant
  Treat floating-point constants as single precision instead of
  implicitly converting them to double-precision constants.
  
  @opindex fcx-limited-range
+ @opindex fno-cx-limited-range
  @item -fcx-limited-range
  When enabled, this option states that a range reduction step is not
  needed when performing complex division.  Also, there is no checking
*************** This option controls the default setting
*** 16223,16228 ****
--- 16496,16502 ----
  all languages.
  
  @opindex fcx-fortran-rules
+ @opindex fno-cx-fortran-rules
  @item -fcx-fortran-rules
  Complex multiplication and division follow Fortran rules.  Range
  reduction is done as part of complex division, but there is no checking
*************** section includes experimental options th
*** 16246,16251 ****
--- 16520,16526 ----
  
  @table @gcctabopt
  @opindex fbranch-probabilities
+ @opindex fno-branch-probabilities
  @item -fbranch-probabilities
  After running a program compiled with @option{-fprofile-arcs}
  (@pxref{Instrumentation Options}),
*************** exactly determine which path is taken mo
*** 16269,16274 ****
--- 16544,16550 ----
  Enabled by @option{-fprofile-use} and @option{-fauto-profile}.
  
  @opindex fprofile-values
+ @opindex fno-profile-values
  @item -fprofile-values
  If combined with @option{-fprofile-arcs}, it adds code so that some
  data about values of expressions in the program is gathered.
*************** Enabled by @option{-fprofile-generate},
*** 16280,16285 ****
--- 16556,16562 ----
  @option{-fauto-profile}.
  
  @opindex fprofile-reorder-functions
+ @opindex fno-profile-reorder-functions
  @item -fprofile-reorder-functions
  Function reordering based on profile instrumentation collects
  first time of execution of a function and orders these functions
*************** efficient loading of text segments.
*** 16289,16294 ****
--- 16566,16572 ----
  Enabled with @option{-fprofile-use}.
  
  @opindex fvpt
+ @opindex fno-vpt
  @item -fvpt
  If combined with @option{-fprofile-arcs}, this option instructs the compiler
  to add code to gather information about values of expressions.
*************** using the knowledge about the value of t
*** 16301,16306 ****
--- 16579,16585 ----
  Enabled with @option{-fprofile-use} and @option{-fauto-profile}.
  
  @opindex frename-registers
+ @opindex fno-rename-registers
  @item -frename-registers
  Attempt to avoid false dependencies in scheduled code by making use
  of registers left over after register allocation.  This optimization
*************** a ``home register''.
*** 16312,16317 ****
--- 16591,16597 ----
  Enabled by default with @option{-funroll-loops}.
  
  @opindex fschedule-fusion
+ @opindex fno-schedule-fusion
  @item -fschedule-fusion
  Performs a target dependent pass over the instruction stream to schedule
  instructions of same type together because target machine can execute them
*************** more efficiently if they are adjacent to
*** 16320,16325 ****
--- 16600,16606 ----
  Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex fdep-fusion
+ @opindex fno-dep-fusion
  @item -fdep-fusion
  Detect macro-op fusible pairs consisting of single-use instructions and their
  uses, and place such pairs together in the instruction stream to increase
*************** allocation, and another time before regi
*** 16329,16334 ****
--- 16610,16616 ----
  Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @opindex ftracer
+ @opindex fno-tracer
  @item -ftracer
  Perform tail duplication to enlarge superblock size.  This transformation
  simplifies the control flow of the function allowing other optimizations to do
*************** a better job.
*** 16337,16342 ****
--- 16619,16625 ----
  Enabled by @option{-fprofile-use} and @option{-fauto-profile}.
  
  @opindex funroll-loops
+ @opindex fno-unroll-loops
  @item -funroll-loops
  Unroll loops whose number of iterations can be determined at compile time or
  upon entry to the loop.  @option{-funroll-loops} implies
*************** or may not make it run faster.
*** 16348,16353 ****
--- 16631,16637 ----
  Enabled by @option{-fprofile-use} and @option{-fauto-profile}.
  
  @opindex funroll-all-loops
+ @opindex fno-unroll-all-loops
  @item -funroll-all-loops
  Unroll all loops, even if their number of iterations is uncertain when
  the loop is entered.  This usually makes programs run more slowly.
*************** the loop is entered.  This usually makes
*** 16355,16360 ****
--- 16639,16645 ----
  @option{-funroll-loops}.
  
  @opindex fpeel-loops
+ @opindex fno-peel-loops
  @item -fpeel-loops
  Peels loops for which there is enough information that they do not
  roll much (from profile feedback or static analysis).  It also turns on
*************** considered safe to remove.
*** 16376,16386 ****
--- 16661,16673 ----
  The default is @option{-fmalloc-dce=2}.  See also @option{-fallocation-dce}.
  
  @opindex fmove-loop-invariants
+ @opindex fno-move-loop-invariants
  @item -fmove-loop-invariants
  Enables the loop invariant motion pass in the RTL loop optimizer.  Enabled
  at level @option{-O1} and higher, except for @option{-Og}.
  
  @opindex fmove-loop-stores
+ @opindex fno-move-loop-stores
  @item -fmove-loop-stores
  Enables the loop store motion pass in the GIMPLE loop optimizer.  This
  moves invariant stores to after the end of the loop in exchange for
*************** be enabled as well.  Enabled at level @o
*** 16390,16395 ****
--- 16677,16683 ----
  for @option{-Og}.
  
  @opindex fsplit-loops
+ @opindex fno-split-loops
  @item -fsplit-loops
  Split a loop into two if it contains a condition that's always true
  for one side of the iteration space and false for the other.
*************** for one side of the iteration space and
*** 16397,16402 ****
--- 16685,16691 ----
  Enabled by @option{-fprofile-use} and @option{-fauto-profile}.
  
  @opindex funswitch-loops
+ @opindex fno-unswitch-loops
  @item -funswitch-loops
  Move branches with loop invariant conditions out of the loop, with duplicates
  of the loop on both branches (modified according to result of the condition).
*************** of the loop on both branches (modified a
*** 16404,16409 ****
--- 16693,16699 ----
  Enabled by @option{-fprofile-use} and @option{-fauto-profile}.
  
  @opindex fversion-loops-for-strides
+ @opindex fno-version-loops-for-strides
  @item -fversion-loops-for-strides
  If a loop iterates over an array with a variable stride, create another
  version of the loop that assumes the stride is always one.  For example:
*************** This flag is enabled by default at @opti
*** 16430,16436 ****
--- 16720,16728 ----
  It is also enabled by @option{-fprofile-use} and @option{-fauto-profile}.
  
  @opindex ffunction-sections
+ @opindex fno-function-sections
  @opindex fdata-sections
+ @opindex fno-data-sections
  @item -ffunction-sections
  @itemx -fdata-sections
  Place each function or data item into its own section in the output
*************** link time.  An example of such an optimi
*** 16460,16470 ****
--- 16752,16764 ----
  instructions.
  
  @opindex fstdarg-opt
+ @opindex fno-stdarg-opt
  @item -fstdarg-opt
  Optimize the prologue of variadic argument functions with respect to usage of
  those arguments.
  
  @opindex fsection-anchors
+ @opindex fno-section-anchors
  @item -fsection-anchors
  Try to reduce the number of symbolic address calculations by using
  shared ``anchor'' symbols to address nearby objects.  This transformation
*************** the discovery is aborted.
*** 18210,18215 ****
--- 18504,18512 ----
  @item ix86-vect-unroll-limit
  Limit how much the autovectorizer may unroll a loop.
  
+ @item ix86-vect-compare-costs
+ Whether x86 vectorizer cost modeling compares costs of different vector sizes.
+ 
  @end table
  
  @end table
*************** program analysis purposes.
*** 18243,18248 ****
--- 18540,18546 ----
  @opindex p
  @opindex profile
  @opindex fprofile
+ @opindex fno-profile
  @opindex pg
  @item -p
  @itemx --profile
*************** suppress profiling of individual functio
*** 18261,18266 ****
--- 18559,18565 ----
  @xref{Common Function Attributes}.
  
  @opindex fprofile-arcs
+ @opindex fno-profile-arcs
  @item -fprofile-arcs
  Add code so that program flow @dfn{arcs} are instrumented.  During
  execution the program records how many times each branch and call is
*************** E.g. @code{gcc a.c b.c -o binary} would
*** 18287,18292 ****
--- 18586,18592 ----
  
  @item -fcondition-coverage
  @opindex fcondition-coverage
+ @opindex fno-condition-coverage
  Add code so that program conditions are instrumented.  During execution the
  program records what terms in a conditional contributes to a decision, which
  can be used to verify that all terms in a Boolean function are tested and have
*************** with @code{gcov --conditions}.
*** 18295,18300 ****
--- 18595,18601 ----
  
  @item -fpath-coverage
  @opindex fpath-coverage
+ @opindex fno-path-coverage
  Add code so that the paths taken are tracked.  During execution the
  program records the prime paths taken.  The number of paths grows very
  fast with complexity, and to avoid exploding compile times GCC will give
*************** not a subpath of any other path.
*** 18392,18397 ****
--- 18693,18699 ----
  
  @need 2000
  @opindex ftest-coverage
+ @opindex fno-test-coverage
  @item -ftest-coverage
  Produce a notes file that the @command{gcov} code-coverage utility
  (@pxref{Gcov,, @command{gcov}---a Test Coverage Program}) can use to
*************** generate test coverage data.  Coverage d
*** 18402,18407 ****
--- 18704,18710 ----
  more closely if you do not optimize.
  
  @opindex fprofile-abs-path
+ @opindex fno-profile-abs-path
  @item -fprofile-abs-path
  Automatically convert relative source file names to absolute path names
  in the @file{.gcno} files.  This allows @command{gcov} to find the correct
*************** value of environment variable @var{VAR}
*** 18439,18444 ****
--- 18742,18748 ----
  @end table
  
  @opindex fprofile-generate
+ @opindex fno-profile-generate
  @item -fprofile-generate
  @itemx -fprofile-generate=@var{path}
  
*************** undefined,float-cast-overflow,float-divi
*** 19054,19059 ****
--- 19358,19364 ----
  @end smallexample
  
  @opindex fsanitize-address-use-after-scope
+ @opindex fno-sanitize-address-use-after-scope
  @item -fsanitize-address-use-after-scope
  Enable sanitization of local variables to detect use-after-scope bugs.
  The option sets @option{-fstack-reuse} to @samp{none}.
*************** instrumentation is silently ignored as t
*** 19086,19101 ****
--- 19391,19409 ----
  @code{libubsan} support, @option{-fsanitize-trap=vptr} is not allowed.
  
  @opindex fsanitize-undefined-trap-on-error
+ @opindex fno-sanitize-undefined-trap-on-error
  @item -fsanitize-undefined-trap-on-error
  The @option{-fsanitize-undefined-trap-on-error} option is deprecated
  equivalent of @option{-fsanitize-trap=all}.
  
  @opindex fsanitize-coverage=trace-pc
+ @opindex fno-sanitize-coverage=trace-pc
  @item -fsanitize-coverage=trace-pc
  Enable coverage-guided fuzzing code instrumentation.
  Inserts a call to @code{__sanitizer_cov_trace_pc} into every basic block.
  
  @opindex fsanitize-coverage=trace-cmp
+ @opindex fno-sanitize-coverage=trace-cmp
  @item -fsanitize-coverage=trace-cmp
  Enable dataflow guided fuzzing code instrumentation.
  Inserts a call to @code{__sanitizer_cov_trace_cmp1},
*************** on Intel Control-flow Enforcement Techno
*** 19158,19163 ****
--- 19466,19472 ----
  i686 processor or newer.
  
  @opindex fharden-compares
+ @opindex fno-harden-compares
  @item -fharden-compares
  For every logical test that survives gimple optimizations and is
  @emph{not} the condition in a conditional branch (for example,
*************** match.  Use with @samp{-fharden-conditio
*** 19168,19173 ****
--- 19477,19483 ----
  conditionals.
  
  @opindex fharden-conditional-branches
+ @opindex fno-harden-conditional-branches
  @item -fharden-conditional-branches
  For every non-vectorized conditional branch that survives gimple
  optimizations, emit extra code to compute and verify the reversed
*************** unexpected.  Use with @samp{-fharden-com
*** 19176,19181 ****
--- 19486,19492 ----
  conditionals.
  
  @opindex fharden-control-flow-redundancy
+ @opindex fno-harden-control-flow-redundancy
  @item -fharden-control-flow-redundancy
  Emit extra code to set booleans when entering basic blocks, and to
  verify and trap, at function exits, when the booleans do not form an
*************** possibilities are merely theoretical, as
*** 19197,19202 ****
--- 19508,19514 ----
  met when using custom compiler plugins.
  
  @opindex fhardcfr-skip-leaf
+ @opindex fno-hardcfr-skip-leaf
  @item -fhardcfr-skip-leaf
  Disable @option{-fharden-control-flow-redundancy} in leaf functions.
  
*************** from the @code{noreturn} treatment only
*** 19256,19261 ****
--- 19568,19574 ----
  (re)raise exceptions, that are not affected by these optimizations.
  
  @opindex fhardened
+ @opindex fno-hardened
  @item -fhardened
  Enable a set of flags for C and C++ that improve the security of the
  generated code without affecting its ABI.  The precise flags enabled
*************** already specified anywhere on the comman
*** 19289,19294 ****
--- 19602,19608 ----
  @option{-fstack-protector}, but not @option{-fstack-protector-strong}.
  
  @opindex fstack-protector
+ @opindex fno-stack-protector
  @item -fstack-protector
  Emit extra code to check for buffer overflows, such as stack smashing
  attacks.  This is done by adding a guard variable to functions with
*************** Like @option{-fstack-protector} but only
*** 19318,19323 ****
--- 19632,19638 ----
  have the @code{stack_protect} attribute.
  
  @opindex fstack-check
+ @opindex fno-stack-check
  @item -fstack-check
  Generate code to verify that you do not go beyond the boundary of the
  stack.  You should specify this flag if you are running in an
*************** Ada code.  It is not generally sufficien
*** 19362,19367 ****
--- 19677,19683 ----
  attacks.  To protect against those you want @samp{-fstack-clash-protection}.
  
  @opindex fstack-clash-protection
+ @opindex fno-stack-clash-protection
  @item -fstack-clash-protection
  Generate code to prevent stack clash style attacks.  When this option is
  enabled, the compiler will only allocate one page of stack space at a time
*************** You can locally override stack limit che
*** 19397,19402 ****
--- 19713,19719 ----
  @code{no_stack_limit} function attribute (@pxref{Function Attributes}).
  
  @opindex fsplit-stack
+ @opindex fno-split-stack
  @item -fsplit-stack
  Generate code to automatically split the stack before it overflows.
  The resulting program has a discontiguous stack which can only
*************** values specified, @samp{none} takes high
*** 19490,19495 ****
--- 19807,19813 ----
  @samp{preinit}; @samp{preinit} takes priority over @samp{std}.
  
  @opindex fvtv-debug
+ @opindex fno-vtv-debug
  @item -fvtv-debug
  When used in conjunction with @option{-fvtable-verify=std} or
  @option{-fvtable-verify=preinit}, causes debug versions of the
*************** Note:  This feature @emph{appends} data
*** 19504,19509 ****
--- 19822,19828 ----
  file, be sure to delete any existing one.
  
  @opindex fvtv-counts
+ @opindex fno-vtv-counts
  @item -fvtv-counts
  This is a debugging flag.  When used in conjunction with
  @option{-fvtable-verify=std} or @option{-fvtable-verify=preinit}, this
*************** Note:  This feature @emph{appends} data
*** 19522,19527 ****
--- 19841,19847 ----
  files, be sure to delete any existing ones.
  
  @opindex finstrument-functions
+ @opindex fno-instrument-functions
  @item -finstrument-functions
  Generate instrumentation calls for entry and exit to functions.  Just
  after function entry and just before function exit, the following
*************** routines generate output or allocate mem
*** 19561,19566 ****
--- 19881,19887 ----
  @xref{Common Function Attributes}.
  
  @opindex finstrument-functions-once
+ @opindex fno-instrument-functions-once
  @item -finstrument-functions-once
  This is similar to @option{-finstrument-functions}, but the profiling
  functions are called only once per instrumented function, i.e. the first
*************** object file names should not be used as
*** 19767,19772 ****
--- 20088,20094 ----
  Options}.
  
  @opindex flink-libatomic
+ @opindex fno-link-libatomic
  @item -flink-libatomic
  Enable linking of libatomic if it's supported by target, and is enabled by
  default. The negative form @option{-fno-link-libatomic} can be used to
*************** To maintain whole-program optimization,
*** 19820,19841 ****
--- 20142,20168 ----
  library instead.
  
  @opindex fuse-ld=bfd
+ @opindex fno-use-ld=bfd
  @item -fuse-ld=bfd
  Use the @command{bfd} linker instead of the default linker.
  
  @opindex fuse-ld=gold
+ @opindex fno-use-ld=gold
  @item -fuse-ld=gold
  Use the @command{gold} linker instead of the default linker.
  
  @opindex fuse-ld=lld
+ @opindex fno-use-ld=lld
  @item -fuse-ld=lld
  Use the LLVM @command{lld} linker instead of the default linker.
  
  @opindex fuse-ld=mold
+ @opindex fno-use-ld=mold
  @item -fuse-ld=mold
  Use the Modern Linker (@command{mold}) instead of the default linker.
  
  @opindex fuse-ld=wild
+ @opindex fno-use-ld=wild
  @item -fuse-ld=wild
  Use the Wild linker (@command{wild}) instead of the default linker.
  
*************** not reused, the aggressive stack reuse c
*** 20458,20463 ****
--- 20785,20791 ----
  option is used to control the temporary stack reuse optimization.
  
  @opindex ftrapv
+ @opindex fno-trapv
  @item -ftrapv
  This option generates traps for signed overflow on addition, subtraction,
  multiplication operations.
*************** using @option{-ftrapv} @option{-fwrapv}
*** 20468,20473 ****
--- 20796,20802 ----
  results in @option{-ftrapv} being effective.
  
  @opindex fwrapv
+ @opindex fno-wrapv
  @item -fwrapv
  This option instructs the compiler to assume that signed arithmetic
  overflow of addition, subtraction and multiplication wraps around
*************** using @option{-ftrapv} @option{-fwrapv}
*** 20480,20485 ****
--- 20809,20815 ----
  results in @option{-ftrapv} being effective.
  
  @opindex fwrapv-pointer
+ @opindex fno-wrapv-pointer
  @item -fwrapv-pointer
  This option instructs the compiler to assume that pointer arithmetic
  overflow on addition and subtraction wraps around using twos-complement
*************** representation.  This flag disables some
*** 20487,20497 ****
--- 20817,20829 ----
  pointer overflow is invalid.
  
  @opindex fstrict-overflow
+ @opindex fno-strict-overflow
  @item -fstrict-overflow
  This option implies @option{-fno-wrapv} @option{-fno-wrapv-pointer} and when
  negated implies @option{-fwrapv} @option{-fwrapv-pointer}.
  
  @opindex fexceptions
+ @opindex fno-exceptions
  @item -fexceptions
  Enable exception handling.  Generates extra code needed to propagate
  exceptions.  For some targets, this implies GCC generates frame
*************** disable this option if you are compiling
*** 20506,20511 ****
--- 20838,20844 ----
  use exception handling.
  
  @opindex fnon-call-exceptions
+ @opindex fno-non-call-exceptions
  @item -fnon-call-exceptions
  Generate code that allows trapping instructions to throw exceptions.
  Note that this requires platform-specific runtime support that does
*************** arbitrary signal handlers such as @code{
*** 20516,20521 ****
--- 20849,20855 ----
  @option{-fexceptions}.
  
  @opindex fdelete-dead-exceptions
+ @opindex fno-delete-dead-exceptions
  @item -fdelete-dead-exceptions
  Consider that instructions that may throw exceptions but don't otherwise
  contribute to the execution of the program can be optimized away.
*************** the language specifications.
*** 20526,20531 ****
--- 20860,20866 ----
  Optimization passes that cause dead exceptions to be removed are enabled independently at different optimization levels.
  
  @opindex funwind-tables
+ @opindex fno-unwind-tables
  @item -funwind-tables
  Similar to @option{-fexceptions}, except that it just generates any needed
  static data, but does not affect the generated code in any other way.
*************** You normally do not need to enable this
*** 20533,20538 ****
--- 20868,20874 ----
  that needs this handling enables it on your behalf.
  
  @opindex fasynchronous-unwind-tables
+ @opindex fno-asynchronous-unwind-tables
  @item -fasynchronous-unwind-tables
  Generate unwind table in DWARF format, if supported by target machine.  The
  table is exact at each instruction boundary, so it can be used for stack
*************** DSOs; if your program relies on reinitia
*** 20554,20559 ****
--- 20890,20896 ----
  @option{-fno-gnu-unique}.
  
  @opindex fpcc-struct-return
+ @opindex fno-pcc-struct-return
  @item -fpcc-struct-return
  Return ``short'' @code{struct} and @code{union} values in memory like
  longer ones, rather than in registers.  This convention is less
*************** switch is not binary compatible with cod
*** 20573,20578 ****
--- 20910,20916 ----
  Use it to conform to a non-default application binary interface.
  
  @opindex freg-struct-return
+ @opindex fno-reg-struct-return
  @item -freg-struct-return
  Return @code{struct} and @code{union} values in registers when possible.
  This is more efficient for small structures than
*************** switch is not binary compatible with cod
*** 20591,20596 ****
--- 20929,20935 ----
  Use it to conform to a non-default application binary interface.
  
  @opindex fshort-enums
+ @opindex fno-short-enums
  @item -fshort-enums
  Allocate to an @code{enum} type only as many bytes as it needs for the
  declared range of possible values.  Specifically, the @code{enum} type
*************** code that is not binary compatible with
*** 20603,20608 ****
--- 20942,20948 ----
  Use it to conform to a non-default application binary interface.
  
  @opindex fshort-wchar
+ @opindex fno-short-wchar
  @item -fshort-wchar
  Override the underlying type for @code{wchar_t} to be @code{short
  unsigned int} instead of the default for the target.  This option is
*************** directives and causes the @code{#ident}
*** 20647,20652 ****
--- 20987,20993 ----
  and @option{-fno-ident}, respectively.
  
  @opindex finhibit-size-directive
+ @opindex fno-inhibit-size-directive
  @item -finhibit-size-directive
  Don't output a @code{.size} assembler directive, or anything else that
  would cause trouble if the function is split in the middle, and the
*************** used when compiling @file{crtstuff.c}; y
*** 20655,20660 ****
--- 20996,21002 ----
  for anything else.
  
  @opindex fverbose-asm
+ @opindex fno-verbose-asm
  @item -fverbose-asm
  Put extra commentary information in the generated assembly code to
  make it more readable.  This option is generally only of use to those
*************** The comments are intended for humans rat
*** 20749,20754 ****
--- 21091,21097 ----
  precise format of the comments is subject to change.
  
  @opindex frecord-gcc-switches
+ @opindex fno-record-gcc-switches
  @item -frecord-gcc-switches
  This switch causes the command line used to invoke the
  compiler to be recorded into the object file that is being created.
*************** See also @option{-grecord-gcc-switches}
*** 20762,20767 ****
--- 21105,21111 ----
  way of storing compiler options into the object file.
  
  @opindex fpic
+ @opindex fno-pic
  @cindex global offset table
  @cindex PIC
  @item -fpic
*************** When this flag is set, the macros @code{
*** 20785,20790 ****
--- 21129,21135 ----
  are defined to 1.
  
  @opindex fPIC
+ @opindex fno-PIC
  @item -fPIC
  If supported for the target machine, emit position-independent code,
  suitable for dynamic linking and avoiding any limit on the size of the
*************** When this flag is set, the macros @code{
*** 20798,20804 ****
--- 21143,21151 ----
  are defined to 2.
  
  @opindex fpie
+ @opindex fno-pie
  @opindex fPIE
+ @opindex fno-PIE
  @item -fpie
  @itemx -fPIE
  These options are similar to @option{-fpic} and @option{-fPIC}, but the
*************** This flag does not have a negative form,
*** 20889,20894 ****
--- 21236,21242 ----
  three-way choice.
  
  @opindex fpack-struct
+ @opindex fno-pack-struct
  @item -fpack-struct[=@var{n}]
  Without a value specified, pack all structure members together without
  holes.  When a value is specified (which must be a small power of two), pack
*************** Additionally, it makes the code suboptim
*** 20902,20907 ****
--- 21250,21256 ----
  Use it to conform to a non-default application binary interface.
  
  @opindex fleading-underscore
+ @opindex fno-leading-underscore
  @item -fleading-underscore
  This option and its counterpart, @option{-fno-leading-underscore}, forcibly
  change the way C symbols are represented in the object file.  One use
*************** The default without @option{-fpic} is @s
*** 20925,20930 ****
--- 21274,21280 ----
  @option{-fpic} the default is @samp{global-dynamic}.
  
  @opindex ftrampolines
+ @opindex fno-trampolines
  @item -ftrampolines
  For targets that normally need trampolines for nested functions, always
  generate them instead of using descriptors.  Otherwise, for targets that
*************** An overview of these techniques, their b
*** 21032,21037 ****
--- 21382,21388 ----
  is at @uref{https://gcc.gnu.org/@/wiki/@/Visibility}.
  
  @opindex fstrict-volatile-bitfields
+ @opindex fno-strict-volatile-bitfields
  @item -fstrict-volatile-bitfields
  This option should be used if accesses to volatile bit-fields (or other
  structure fields, although the compiler usually honors those types
*************** The default value of this option is dete
*** 21063,21068 ****
--- 21414,21420 ----
  interface for the target processor.
  
  @opindex fsync-libcalls
+ @opindex fno-sync-libcalls
  @item -fsync-libcalls
  This option controls whether any out-of-line instance of the @code{__sync}
  family of functions may be used to implement the C++11 @code{__atomic}
*************** Dump debugging information generated dur
*** 21487,21492 ****
--- 21839,21845 ----
  generation phase.
  
  @opindex fdump-noaddr
+ @opindex fno-dump-noaddr
  @item -fdump-noaddr
  When doing debugging dumps, suppress address output.  This makes it more
  feasible to use diff on debugging dumps for compiler invocations with
*************** different compiler binaries and/or diffe
*** 21494,21504 ****
--- 21847,21859 ----
  text / bss / data / heap / stack / dso start locations.
  
  @opindex freport-bug
+ @opindex fno-report-bug
  @item -freport-bug
  Collect and dump debug information into a temporary file if an
  internal compiler error (ICE) occurs.
  
  @opindex fdump-unnumbered
+ @opindex fno-dump-unnumbered
  @item -fdump-unnumbered
  When doing debugging dumps, suppress instruction numbers and address output.
  This makes it more feasible to use diff on debugging dumps for compiler
*************** invocations with different options, in p
*** 21506,21517 ****
--- 21861,21874 ----
  @option{-g}.
  
  @opindex fdump-unnumbered-links
+ @opindex fno-dump-unnumbered-links
  @item -fdump-unnumbered-links
  When doing debugging dumps (see @option{-d} option above), suppress
  instruction numbers for the links to the previous and next instructions
  in a sequence.
  
  @opindex fdump-internal-locations
+ @opindex fno-dump-internal-locations
  @item -fdump-internal-locations
  Dump detailed information about GCC's internal representation of source code
  locations.
*************** instance, see @xref{C++ Dialect Options}
*** 21664,21669 ****
--- 22021,22027 ----
  flags supported by the C++ front-end.
  
  @opindex fdump-passes
+ @opindex fno-dump-passes
  @item -fdump-passes
  Print on @file{stderr} the list of optimization passes that are turned
  on and off by the current command-line options.
*************** from one version of GCC to another.
*** 21792,21797 ****
--- 22150,22156 ----
  @end enumerate
  
  @opindex fopt-info
+ @opindex fno-opt-info
  @item -fopt-info
  @itemx -fopt-info-@var{options}
  @itemx -fopt-info-@var{options}=@var{filename}
*************** ignored. Thus only @file{vec.miss} is pr
*** 21929,21934 ****
--- 22288,22294 ----
  dumps from the vectorizer about missed opportunities.
  
  @opindex fsave-optimization-record
+ @opindex fno-save-optimization-record
  @item -fsave-optimization-record
  Write a SRCFILE.opt-record.json.gz file detailing what optimizations
  were performed, for those optimizations that support @option{-fopt-info}.
*************** the compiler configuration.  @option{-fc
*** 22070,22075 ****
--- 22430,22436 ----
  internal consistency checking that might affect code generation.
  
  @opindex frandom-seed
+ @opindex fno-random-seed
  @item -frandom-seed=@var{string}
  This option provides a seed that GCC uses in place of
  random numbers in generating certain symbol names
*************** as it is compiled, and print some statis
*** 22214,22219 ****
--- 22575,22581 ----
  finishes.
  
  @opindex ftime-report
+ @opindex fno-time-report
  @item -ftime-report
  Makes the compiler print some statistics to stderr about the time consumed
  by each pass when it finishes.
*************** not exactly match those emitted to stder
*** 22227,22232 ****
--- 22589,22595 ----
  slightly different place within the compiler.
  
  @opindex ftime-report-details
+ @opindex fno-time-report-details
  @item -ftime-report-details
  Record the time consumed by infrastructure parts separately for each pass.
  
*************** The default value is 5.  If the value @v
*** 22237,22242 ****
--- 22600,22606 ----
  the dump output is sent to stderr using the same format as @var{n} minus 10.
  
  @opindex flto-report
+ @opindex fno-lto-report
  @item -flto-report
  Prints a report with internal details on the workings of the link-time
  optimizer.  The contents of this report vary from version to version.
*************** files in LTO mode (via @option{-flto}).
*** 22246,22267 ****
--- 22610,22636 ----
  Disabled by default.
  
  @opindex flto-report-wpa
+ @opindex fno-lto-report-wpa
  @item -flto-report-wpa
  Like @option{-flto-report}, but only print for the WPA phase of link-time
  optimization.
  
  @opindex fmem-report
+ @opindex fno-mem-report
  @item -fmem-report
  Makes the compiler print some statistics about permanent memory
  allocation when it finishes.
  
  @opindex fmem-report-wpa
+ @opindex fno-mem-report-wpa
  @item -fmem-report-wpa
  Makes the compiler print some statistics about permanent memory
  allocation for the WPA phase only.
  
  @opindex fpre-ipa-mem-report
+ @opindex fno-pre-ipa-mem-report
  @opindex fpost-ipa-mem-report
+ @opindex fno-post-ipa-mem-report
  @item -fpre-ipa-mem-report
  @item -fpost-ipa-mem-report
  Makes the compiler print some statistics about permanent memory
*************** all target libraries, by configuring a n
*** 22296,22301 ****
--- 22665,22671 ----
  the compiler and target libraries.
  
  @opindex fprofile-report
+ @opindex fno-profile-report
  @item -fprofile-report
  Makes the compiler print some statistics about consistency of the
  (estimated) profile and effect of individual passes.
*************** not bounded at compile time and the seco
*** 22334,22345 ****
--- 22704,22717 ----
  bounded part.
  
  @opindex fstats
+ @opindex fno-stats
  @item -fstats
  Emit statistics about front-end processing at the end of the compilation.
  This option is supported only by the C++ front end, and
  the information is generally only useful to the G++ development team.
  
  @opindex fdbg-cnt-list
+ @opindex fno-dbg-cnt-list
  @item -fdbg-cnt-list
  Print the name and the counter upper bound for all debug counters.
  
*************** platform.
*** 22518,22523 ****
--- 22890,22896 ----
  * IA-64 Options::
  * LM32 Options::
  * LoongArch Options::
+ * LynxOS Options::
  * M32C Options::
  * M32R/D Options::
  * M680x0 Options::
*************** Enable double load/store operations for
*** 23820,23825 ****
--- 24193,24208 ----
  @item -mtp-regno=@var{regno}
  Specify thread pointer register number.
  
+ @opindex mbitops
+ @opindex mno-bitops
+ @item -mbitops
+ Enable use of NPS400 bit operations.
+ 
+ @opindex mcmem
+ @opindex mno-cmem
+ @item -mcmem
+ Enable use of NPS400 xld/xst extension.
+ 
  @opindex mmpy-option
  @item -mmpy-option=@var{multo}
  Compile ARCv2 code with a multiplier design option.  You can specify
*************** Generate code for a processor running in
*** 24341,24346 ****
--- 24724,24730 ----
  to compile code for a little-endian processor.
  
  @opindex mbe8
+ @opindex mbe32
  @item -mbe8
  @itemx -mbe32
  When linking a big-endian image select between BE8 and BE32 formats.
*************** with overlapping destination and base re
*** 25237,25242 ****
--- 25621,25630 ----
  generating these instructions.  This option is enabled by default when
  @option{-mcpu=cortex-m3} is specified.
  
+ @opindex mfix-cortex-a57-aes-1742098
+ @opindex mno-fix-cortex-a57-aes-1742098
+ @opindex mfix-cortex-a72-aes-1655431
+ @opindex mno-fix-cortex-a72-aes-1655431
  @item -mfix-cortex-a57-aes-1742098
  @itemx -mno-fix-cortex-a57-aes-1742098
  @itemx -mfix-cortex-a72-aes-1655431
*************** or later.
*** 25382,25387 ****
--- 25770,25782 ----
  The default is to generate code without branch protection or return
  address signing.
  
+ @opindex mvectorize-with-neon-quad
+ @opindex mvectorize-with-neon-double
+ @item -mvectorize-with-neon-quad
+ @itemx -mvectorize-with-neon-double
+ Control whether vectorization uses NEON quad-word or double-word registers.
+ The default is @option{-mvectorize-with-neon-quad}.
+ 
  @end table
  
  @node AVR Options
*************** differ from instructions in the assemble
*** 25510,25515 ****
--- 25905,25915 ----
  Relaxing must be turned on if linker stubs are needed, see the
  section on @code{EIND} and linker stubs below.
  
+ @opindex mpmem-wrap-around
+ @opindex mno-pmem-wrap-around
+ @item -mpmem-wrap-around
+ Enable program counter wrap-around in linker relaxation.
+ 
  @opindex mrodata-in-ram
  @item -mrodata-in-ram
  @itemx -mno-rodata-in-ram
*************** code, except for the ABI and the set of
*** 26418,26425 ****
  choices for @var{architecture-type} are the same as for
  @option{-march=@var{architecture-type}}.
  
! @opindex mmax-stack-frame
! @item -mmax-stack-frame=@var{n}
  Warn when the stack frame of a function exceeds @var{n} bytes.
  
  @opindex metrax4
--- 26818,26825 ----
  choices for @var{architecture-type} are the same as for
  @option{-march=@var{architecture-type}}.
  
! @opindex mmax-stackframe
! @item -mmax-stackframe=@var{n}
  Warn when the stack frame of a function exceeds @var{n} bytes.
  
  @opindex metrax4
*************** permits the correct alignment of COMMON
*** 26876,26881 ****
--- 27276,27285 ----
  used when generating code.  It is enabled by default if
  GCC detects that the target assembler found during configuration
  supports the feature.
+ 
+ @opindex muse-libstdc-wrappers
+ @item -muse-libstdc-wrappers
+ Use Cygwin DLL wrappers to support C++ operators @code{new} and @code{delete}.
  @end table
  
  See also under @ref{x86 Options} for standard options.
*************** the target architecture (currently x86 o
*** 26985,26990 ****
--- 27389,27395 ----
  @opindex mconstant-cfstrings
  @opindex mno-constant-cfstrings
  @opindex fconstant-cfstrings
+ @opindex fno-constant-cfstrings
  @item -mconstant-cfstrings
  @itemx -fconstant-cfstrings
  When the NeXT runtime is being used (the default on these systems), override
*************** them.
*** 27245,27253 ****
  Note that Alpha implementations without floating-point operations are
  required to have floating-point registers.
  
! @opindex mfp-reg
  @opindex mno-fp-regs
! @item -mfp-reg
  @itemx -mno-fp-regs
  Generate code that uses (does not use) the floating-point register set.
  @option{-mno-fp-regs} implies @option{-msoft-float}.  If the floating-point
--- 27650,27658 ----
  Note that Alpha implementations without floating-point operations are
  required to have floating-point registers.
  
! @opindex mfp-regs
  @opindex mno-fp-regs
! @item -mfp-regs
  @itemx -mno-fp-regs
  Generate code that uses (does not use) the floating-point register set.
  @option{-mno-fp-regs} implies @option{-msoft-float}.  If the floating-point
*************** Specify the size of the @code{long doubl
*** 27579,27584 ****
--- 27984,27990 ----
  @cindex eBPF Options
  
  @table @gcctabopt
+ @opindex mframe-limit
  @item -mframe-limit=@var{bytes}
  This specifies the hard limit for frame sizes, in bytes.  Currently,
  the value that can be specified should be less than or equal to
*************** with OpenMP.
*** 28236,28242 ****
  Use ldcw/ldcd coherent cache-control hint.
  
  @opindex mdisable-fpregs
! @opindex -mno-disable-fpregs
  @item -mdisable-fpregs
  Disable floating-point registers.  Equivalent to @option{-msoft-float}.
  
--- 28642,28648 ----
  Use ldcw/ldcd coherent cache-control hint.
  
  @opindex mdisable-fpregs
! @opindex mno-disable-fpregs
  @item -mdisable-fpregs
  Disable floating-point registers.  Equivalent to @option{-msoft-float}.
  
*************** two registers separated by a dash.  Mult
*** 28264,28270 ****
  specified separated by a comma.
  
  @opindex mgas
! @opindex -mno-gas
  @item -mgas
  Enable the use of assembler directives only GAS understands.
  
--- 28670,28676 ----
  specified separated by a comma.
  
  @opindex mgas
! @opindex mno-gas
  @item -mgas
  Enable the use of assembler directives only GAS understands.
  
*************** loop.  The default value is six.
*** 29196,29201 ****
--- 29602,29628 ----
  
  @end table
  
+ @node LynxOS Options
+ @subsection LynxOS Options
+ @cindex LynxOS Options
+ 
+ These options are available for LynxOS targets.
+ 
+ @table @gcctabopt
+ 
+ @opindex mshared
+ @item -mshared
+ Use shared libraries.  The default is to link with static libraries.
+ 
+ @opindex mthreads
+ @item -mthreads
+ Support multi-threading.
+ 
+ @opindex mlegacy-threads
+ @item -mlegacy-threads
+ Support legacy multi-threading.
+ This option is incompatible with @option{-mthreads}.
+ @end table
  
  @node M32C Options
  @subsection M32C Options
*************** This option inhibits the use of 68020 an
*** 29500,29505 ****
--- 29927,29945 ----
  have to be emulated by software on the 68060.  Use this option if your 68060
  does not have code to emulate those instructions.
  
+ @opindex m68302
+ @item -m68302
+ Generate code for a 68302.
+ 
+ @opindex m68332
+ @item -m68332
+ Generate code for a 68332.
+ 
+ @opindex m68851
+ @item -m68851
+ The 68851 was an external MMU for the 68020 processor.
+ GCC accepts this option, but does not use it.
+ 
  @opindex mcpu32
  @item -mcpu32
  Generate output for a CPU32.  This is the default
*************** Use this option for microcontrollers wit
*** 29510,29515 ****
--- 29950,29959 ----
  CPU32 or CPU32+ core, including the 68330, 68331, 68332, 68333, 68334,
  68336, 68340, 68341, 68349 and 68360.
  
+ @opindex mfidoa
+ @item -mfidoa
+ Generate code for a Fido A.
+ 
  @opindex m5200
  @item -m5200
  Generate output for a 520X ColdFire CPU@.  This is the default
*************** GCC defines the macro @code{__mcfhwdiv__
*** 29597,29604 ****
--- 30041,30050 ----
  
  @opindex mshort
  @opindex mno-short
+ @opindex mnoshort
  @item -mshort
  @itemx -mno-short
+ @itemx -mnoshort
  Consider type @code{int} to be 16 bits wide, like @code{short int}.
  Additionally, parameters passed on the stack are also aligned to a
  16-bit boundary even on targets whose API mandates promotion to 32-bit.
*************** the @option{-m68020} option implies @opt
*** 29617,29624 ****
--- 30063,30072 ----
  
  @opindex mrtd
  @opindex mno-rtd
+ @opindex mnortd
  @item -mrtd
  @itemx -mno-rtd
+ @itemx -mnortd
  Control use of a different function-calling convention, in which functions
  that take a fixed number of arguments return with the @code{rtd}
  instruction, which pops their arguments while returning.  This
*************** object file that accesses more than 8192
*** 29734,29739 ****
--- 30182,30195 ----
  These options have no effect unless GCC is generating
  position-independent code.
  
+ @opindex mxtls
+ @opindex mno-xtls
+ @item -mxtls
+ Support TLS segment larger than 64K.  The considerations for using
+ this option are similar to those for @option{-mxgot} above; the
+ default 16-bit offset addressing for TLS is more efficient, but this
+ may be inadequate for some programs.
+ 
  @opindex mlong-jump-table-offsets
  @item -mlong-jump-table-offsets
  Use 32-bit offsets in @code{switch} tables.  The default is to use
*************** instructions or less.
*** 29763,29772 ****
  @itemx -mno-div
  Use the divide instruction.  (Enabled by default).
  
! @opindex mrelax-immediate
! @opindex mno-relax-immediate
! @item -mrelax-immediate
! @itemx -mno-relax-immediate
  Allow arbitrary-sized immediates in bit operations.
  
  @opindex mwide-bitfields
--- 30219,30228 ----
  @itemx -mno-div
  Use the divide instruction.  (Enabled by default).
  
! @opindex mrelax-immediates
! @opindex mno-relax-immediates
! @item -mrelax-immediates
! @itemx -mno-relax-immediates
  Allow arbitrary-sized immediates in bit operations.
  
  @opindex mwide-bitfields
*************** Put uninitialized @code{const} variables
*** 30629,30634 ****
--- 31085,31092 ----
  This option is only meaningful in conjunction with @option{-membedded-data}.
  
  @opindex mcode-readable
+ @opindex mno-data-in-code
+ @opindex mcode-xonly
  @item -mcode-readable=@var{setting}
  Specify whether GCC may generate code that reads from executable sections.
  There are three possible settings:
*************** SRAM interface but that (unlike the M4K)
*** 30653,30658 ****
--- 31111,31120 ----
  PC-relative loads to the instruction RAM.
  @end table
  
+ On SDE targets, @option{-mcode-data-in-code} is available as a
+ traditional alias for @option{-mcode-readable=no}, and @option{-mcode-xonly}
+ for @option{-mcode-readable=pcrel}.
+ 
  @opindex msplit-addresses
  @opindex mno-split-addresses
  @item -msplit-addresses
*************** data may require @option{-mno-base-addre
*** 31205,31210 ****
--- 31667,31684 ----
  @itemx -mno-single-exit
  Force (do not force) generated code to have a single exit point in each
  function.
+ 
+ @opindex mset-data-start
+ @item -mset-data-start=@var{address}
+ When linking, set the start of the data section to @var{address}.
+ 
+ @opindex mset-program-start
+ @opindex mno-set-program-start
+ @item -mset-program-start=@var{address}
+ @itemx -mno-set-program-start
+ When linking, set the program start address to @var{address}.  It
+ defaults to 0x100 unless @var{-mno-set-program-start} is used to suppress
+ this option entirely.
  @end table
  
  @node MN10300 Options
*************** MCU name specified by the @option{-mmcu}
*** 31400,31406 ****
  MCU names.  This option is on by default.
  
  @opindex msim
! @opindex -mno-sim
  @item -msim
  Link to the simulator runtime libraries and linker script.  Overrides
  any scripts that would be selected by the @option{-mmcu=} option.
--- 31874,31880 ----
  MCU names.  This option is on by default.
  
  @opindex msim
! @opindex mno-sim
  @item -msim
  Link to the simulator runtime libraries and linker script.  Overrides
  any scripts that would be selected by the @option{-mmcu=} option.
*************** for OpenMP offloading, but the option is
*** 31852,31857 ****
--- 32326,32336 ----
  of testing the compiler; to generate code suitable for linking into programs
  using OpenMP offloading, use option @option{-mgomp}.
  
+ @opindex msoft-stack-reserve-local
+ @item -msoft-stack-reserve-local=@var{size}
+ Specify the size of @code{.local} memory used for the stack when the
+ exact amount is not known.  It defaults to 128.
+ 
  @opindex muniform-simt
  @opindex mno-uniform-simt
  @item -muniform-simt
*************** Generate PowerPC64 code for the large mo
*** 32792,32797 ****
--- 33271,33283 ----
  in size.  Other data and code is only limited by the 64-bit address
  space.
  
+ @opindex mprofile-kernel
+ @opindex mno-profile-kernel
+ @item -mprofile-kernel
+ This option is available on PowerPC64 GNU/Linux targets.  When used with
+ @option{-pg}, it causes calls to @code{mcount} to be inserted before the
+ function prologue instead of after it.
+ 
  @opindex maltivec
  @opindex mno-altivec
  @item -maltivec
*************** boundary and has a size of 4 bytes.  By
*** 33183,33188 ****
--- 33669,33680 ----
  the structure is aligned to a 1-byte boundary and is 1 byte in
  size.
  
+ @opindex mbit-word
+ @opindex mno-bit-word
+ @item -mbit-word
+ @itemx -mno-bit-word
+ Allow bit-fields to cross word boundaries.
+ 
  @opindex mno-strict-align
  @opindex mstrict-align
  @item -mno-strict-align
*************** Generate (do not generate) code that run
*** 33842,33847 ****
--- 34334,34367 ----
  Generate (do not generate) unaligned vsx loads and stores for
  inline expansion of @code{memcpy} and @code{memmove}.
  
+ @opindex msplat-word-constant
+ @opindex mno-splat-word-constant
+ @item -msplat-word-constant
+ @itemx -mno-splat-word-constant
+ Generate (do not generate) code that uses the @code{XXSPLTIW} instruction.
+ This option is enabled by default.
+ 
+ @opindex msplat-float-constant
+ @opindex mno-splat-float-constant
+ @item -msplat-float-constant
+ @itemx -mno-splat-float-constant
+ Generate (do not generate) code that uses the @code{XXSPLTIDP} instruction.
+ This option is enabled by default.
+ 
+ @opindex mieee128-constant
+ @opindex mno-ieee128-constant
+ @item -mieee128-constant
+ @itemx -mno-ieee128-constant
+ Generate (do not generate) code that uses the @code{LXVKQ} instruction.
+ This option is enabled by default.
+ 
+ @opindex mwarn-altivec-long
+ @opindex mno-warn-altivec-long
+ @item -mwarn-altivec-long
+ @itemx -mno-warn-altivec-long
+ Enable or disable warnings about deprecated @samp{vector long ...} Altivec
+ type usage.  This option is enabled by default.
+ 
  @item --param rs6000-vect-unroll-limit=
  The vectorizer checks with target information to determine whether it
  would be beneficial to unroll the main vectorized loop and by how much.  This
*************** GNU/Linux for S/390 ABI@.  When @option{
*** 34169,34175 ****
  code compliant to the GNU/Linux for zSeries ABI@.  This allows GCC in
  particular to generate 64-bit instructions.  For the @samp{s390}
  targets, the default is @option{-m31}, while the @samp{s390x}
! targets default to @option{-m64}.
  
  @opindex mzarch
  @opindex mesa
--- 34689,34696 ----
  code compliant to the GNU/Linux for zSeries ABI@.  This allows GCC in
  particular to generate 64-bit instructions.  For the @samp{s390}
  targets, the default is @option{-m31}, while the @samp{s390x}
! targets default to @option{-m64}.  Note, @option{-m31} is deprecated and
! support will be removed.
  
  @opindex mzarch
  @opindex mesa
*************** Generate code for the SH1.
*** 34491,34496 ****
--- 35012,35018 ----
  @item -m2
  Generate code for the SH2.
  
+ @opindex m2e
  @item -m2e
  Generate code for the SH2e.
  
*************** floating-point operations are used.
*** 34601,34606 ****
--- 35123,35132 ----
  @item -m4-340
  Generate code for SH4-340 (no MMU, no FPU).
  
+ @opindex m4-400
+ @item -m4-400
+ Generate code for SH4-400 (no MMU, no FPU).
+ 
  @opindex m4-500
  @item -m4-500
  Generate code for SH4-500 (no FPU).  Passes @option{-isa=sh4-nofpu} to the
*************** Generate Solaris CTF.  Needs to be used
*** 34970,34986 ****
  linking.  See @command{ctf(7)} for more information.  This is only
  supported since Solaris 11.4 SRU 84 where the necessary toolchain
  support was added.
- 
- @opindex pthread
- @opindex pthreads
- @item -pthread
- @itemx -pthreads
- On Solaris targets, these both options define the preprocessor symbols
- @code{_REENTRANT} and @code{_PTHREADS}.  In modern versions of Solaris
- these symbols are no longer used in system headers and these options are
- unnecessary unless user code references them.  Additionally, since
- POSIX thread support is provided directly by the Solaris C library, it is
- not necessary to use @option{-pthread} for linking.
  @end table
  
  @node SPARC Options
--- 35496,35501 ----
diff -Nrcpad gcc-16-20260118/gcc/expr.cc gcc-16-20260125/gcc/expr.cc
*** gcc-16-20260118/gcc/expr.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/expr.cc	Sun Jan 25 22:32:07 2026
*************** store_constructor (tree exp, rtx target,
*** 7579,7586 ****
  	    if (cleared && initializer_zerop (value))
  	      continue;
  
! 	    if (tree_fits_uhwi_p (DECL_SIZE (field)))
! 	      bitsize = tree_to_uhwi (DECL_SIZE (field));
  	    else
  	      gcc_unreachable ();
  
--- 7579,7591 ----
  	    if (cleared && initializer_zerop (value))
  	      continue;
  
! 	    /* Variable sized arrays are ignored.  */
! 	    tree decl_size = DECL_SIZE (field);
! 	    if (!decl_size)
! 	      continue;
! 
! 	    if (tree_fits_uhwi_p (decl_size))
! 	      bitsize = tree_to_uhwi (decl_size);
  	    else
  	      gcc_unreachable ();
  
diff -Nrcpad gcc-16-20260118/gcc/flag-types.h gcc-16-20260125/gcc/flag-types.h
*** gcc-16-20260118/gcc/flag-types.h	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/flag-types.h	Sun Jan 25 22:32:07 2026
*************** enum lto_locality_cloning_model {
*** 422,427 ****
--- 422,433 ----
    LTO_LOCALITY_MAXIMAL_CLONING = 2,
  };
  
+ /* flag_lto_locality_heuristics initialization values.  */
+ enum lto_locality_heuristics {
+   LTO_LOCALITY_DEFAULT_HEURISTIC = 0,
+   LTO_LOCALITY_CPP_TEMPLATE = 1,
+ };
+ 
  /* flag_lto_linker_output initialization values.  */
  enum lto_linker_output {
    LTO_LINKER_OUTPUT_UNKNOWN,
diff -Nrcpad gcc-16-20260118/gcc/fold-const-call.cc gcc-16-20260125/gcc/fold-const-call.cc
*** gcc-16-20260118/gcc/fold-const-call.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/fold-const-call.cc	Sun Jan 25 22:32:07 2026
*************** fold_const_vec_shl_insert (tree, tree ar
*** 1459,1464 ****
--- 1459,1484 ----
    return NULL_TREE;
  }
  
+ /* Fold a call to IFN_VEC_EXTRACT (ARG0, ARG1), returning a value
+    of type TYPE.
+ 
+    Right now this is only handling uniform vectors, so ARG1 is not
+    used.  But it could be easily adjusted in the future to handle
+    non-uniform vectors by extracting the relevant element.  */
+ 
+ static tree
+ fold_const_vec_extract (tree, tree arg0, tree)
+ {
+   if (TREE_CODE (arg0) != VECTOR_CST)
+     return NULL_TREE;
+ 
+   /* vec_extract ( dup(CST), CST) -> dup (CST). */
+   if (tree elem = uniform_vector_p (arg0))
+     return elem;
+ 
+   return NULL_TREE;
+ }
+ 
  /* Try to evaluate:
  
        *RESULT = FN (*ARG0, *ARG1)
*************** fold_const_call (combined_fn fn, tree ty
*** 1865,1870 ****
--- 1885,1893 ----
      case CFN_VEC_SHL_INSERT:
        return fold_const_vec_shl_insert (type, arg0, arg1);
  
+     case CFN_VEC_EXTRACT:
+       return fold_const_vec_extract (type, arg0, arg1);
+ 
      case CFN_UBSAN_CHECK_ADD:
      case CFN_ADD_OVERFLOW:
        subcode = PLUS_EXPR;
diff -Nrcpad gcc-16-20260118/gcc/fortran/ChangeLog gcc-16-20260125/gcc/fortran/ChangeLog
*** gcc-16-20260118/gcc/fortran/ChangeLog	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/fortran/ChangeLog	Sun Jan 25 22:32:07 2026
***************
*** 1,3 ****
--- 1,22 ----
+ 2026-01-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+ 
+ 	PR fortran/123772
+ 	* trans.cc: Add global variable is_assign_call.
+ 	(gfc_finalize_tree_expr): Derived type function results
+ 	with components that have defined assignements are
+ 	handled in resolve.cc(generate_component_assignments), unless
+ 	the assignment was replaced by a subroutine call to the
+ 	subroutine associated with the assignment operator.
+ 	(trans_code): In the case of EXEC_ASSIGN_CALL, set the
+ 	is_asign_call before calling gfc_trans_call, then clear it
+ 	after.
+ 
+ 2026-01-19  Steven G. Kargl  <kargl@gcc.gnu.org>
+ 
+ 	PR fortran/123375
+ 	* decl.cc (gfc_match_import): Check that imported entity within
+ 	a interface is not from local scope.
+ 
  2026-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
  
  	PR fortran/122957
diff -Nrcpad gcc-16-20260118/gcc/fortran/decl.cc gcc-16-20260125/gcc/fortran/decl.cc
*** gcc-16-20260118/gcc/fortran/decl.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/fortran/decl.cc	Sun Jan 25 22:32:07 2026
*************** gfc_match_import (void)
*** 5557,5562 ****
--- 5557,5575 ----
        switch (m)
  	{
  	case MATCH_YES:
+ 	  /* Before checking if the symbol is available from host
+ 	     association into a SUBROUTINE or FUNCTION within an
+ 	     INTERFACE, check if it is already in local scope.  */
+ 	  gfc_find_symbol (name, gfc_current_ns, 1, &sym);
+ 	  if (sym
+ 	      && gfc_state_stack->previous
+ 	      && gfc_state_stack->previous->state == COMP_INTERFACE)
+ 	    {
+ 	       gfc_error ("import-name %qs at %C is in the "
+ 			  "local scope", name);
+ 	       return MATCH_ERROR;
+ 	    }
+ 
  	  if (gfc_current_ns->parent != NULL
  	      && gfc_find_symbol (name, gfc_current_ns->parent, 1, &sym))
  	    {
diff -Nrcpad gcc-16-20260118/gcc/fortran/lang.opt.urls gcc-16-20260125/gcc/fortran/lang.opt.urls
*** gcc-16-20260118/gcc/fortran/lang.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/fortran/lang.opt.urls	Sun Jan 25 22:32:07 2026
*************** fmodule-private
*** 368,383 ****
  LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fmodule-private)
  
  fopenacc
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fopenacc) LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fopenacc)
  
  fopenacc-dim=
  UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fopenacc-dim)
  
  fopenmp
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fopenmp) LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fopenmp)
  
  fopenmp-simd
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fopenmp-simd) LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fopenmp-simd)
  
  fopenmp-allocators
  LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fopenmp-allocators)
--- 368,383 ----
  LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fmodule-private)
  
  fopenacc
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fno-openacc) LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fopenacc)
  
  fopenacc-dim=
  UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fopenacc-dim)
  
  fopenmp
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fno-openmp) LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fopenmp)
  
  fopenmp-simd
! UrlSuffix(gcc/OpenMP-and-OpenACC-Options.html#index-fno-openmp-simd) LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fopenmp-simd)
  
  fopenmp-allocators
  LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-fopenmp-allocators)
*************** fpack-derived
*** 386,392 ****
  LangUrlSuffix_Fortran(gfortran/Code-Gen-Options.html#index-fpack-derived)
  
  fpreprocessed
! UrlSuffix(gcc/Preprocessor-Options.html#index-fpreprocessed)
  
  fprotect-parens
  LangUrlSuffix_Fortran(gfortran/Code-Gen-Options.html#index-fno-protect-parens)
--- 386,392 ----
  LangUrlSuffix_Fortran(gfortran/Code-Gen-Options.html#index-fpack-derived)
  
  fpreprocessed
! UrlSuffix(gcc/Preprocessor-Options.html#index-fno-preprocessed)
  
  fprotect-parens
  LangUrlSuffix_Fortran(gfortran/Code-Gen-Options.html#index-fno-protect-parens)
*************** fsecond-underscore
*** 434,440 ****
  LangUrlSuffix_Fortran(gfortran/Code-Gen-Options.html#index-fsecond-underscore)
  
  ; skipping UrlSuffix for 'fshort-enums' due to multiple URLs:
! ;   duplicate: 'gcc/Code-Gen-Options.html#index-fshort-enums'
  ;   duplicate: 'gcc/Non-bugs.html#index-fshort-enums-3'
  ;   duplicate: 'gcc/Structures-unions-enumerations-and-bit-fields-implementation.html#index-fshort-enums-1'
  fshort-enums
--- 434,440 ----
  LangUrlSuffix_Fortran(gfortran/Code-Gen-Options.html#index-fsecond-underscore)
  
  ; skipping UrlSuffix for 'fshort-enums' due to multiple URLs:
! ;   duplicate: 'gcc/Code-Gen-Options.html#index-fno-short-enums'
  ;   duplicate: 'gcc/Non-bugs.html#index-fshort-enums-3'
  ;   duplicate: 'gcc/Structures-unions-enumerations-and-bit-fields-implementation.html#index-fshort-enums-1'
  fshort-enums
diff -Nrcpad gcc-16-20260118/gcc/fortran/trans.cc gcc-16-20260125/gcc/fortran/trans.cc
*** gcc-16-20260118/gcc/fortran/trans.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/fortran/trans.cc	Sun Jan 25 22:32:07 2026
*************** along with GCC; see the file COPYING3.
*** 44,49 ****
--- 44,51 ----
  
  const char gfc_msg_fault[] = N_("Array reference out of bounds");
  
+ /* Nonzero if we're translating a defined assignment call. */
+ int is_assign_call = 0;
  
  /* Advance along TREE_CHAIN n times.  */
  
*************** gfc_finalize_tree_expr (gfc_se *se, gfc_
*** 1619,1632 ****
      return;
  
    /* Derived type function results with components that have defined
!      assignements are handled in resolve.cc(generate_component_assignments)  */
!   if (derived && (derived->attr.is_c_interop
! 		  || derived->attr.is_iso_c
! 		  || derived->attr.is_bind_c
! 		  || (derived->attr.extension && derived->f2k_derived
! 		      && derived->f2k_derived->tb_op[INTRINSIC_ASSIGN])
! 		  || (!derived->attr.extension
! 		      && derived->attr.defined_assign_comp)))
      return;
  
    if (is_class)
--- 1621,1637 ----
      return;
  
    /* Derived type function results with components that have defined
!      assignements are handled in resolve.cc(generate_component_assignments),
!      unless the assignment was replaced by a subroutine call to the
!      subroutine associated with the assignment operator. */
!   if ( ! is_assign_call
!        && derived && (derived->attr.is_c_interop
!        || derived->attr.is_iso_c
!        || derived->attr.is_bind_c
!        || (derived->attr.extension && derived->f2k_derived
! 	   && derived->f2k_derived->tb_op[INTRINSIC_ASSIGN])
!        || (!derived->attr.extension
! 	   && derived->attr.defined_assign_comp)))
      return;
  
    if (is_class)
*************** trans_code (gfc_code * code, tree cond)
*** 2431,2438 ****
--- 2436,2447 ----
  	  break;
  
  	case EXEC_ASSIGN_CALL:
+ 	  /* Record that an assignment call is being processed, to
+ 	     ensure finalization occurs in gfc_finalize_tree_expr */
+ 	  is_assign_call = 1;
  	  res = gfc_trans_call (code, true, NULL_TREE,
  				NULL_TREE, false);
+ 	  is_assign_call = 0;
  	  break;
  
  	case EXEC_RETURN:
diff -Nrcpad gcc-16-20260118/gcc/genmatch.cc gcc-16-20260125/gcc/genmatch.cc
*** gcc-16-20260118/gcc/genmatch.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/genmatch.cc	Sun Jan 25 22:32:07 2026
*************** parser::parse_expr ()
*** 5435,5440 ****
--- 5435,5441 ----
        && !(token->flags & PREV_WHITE))
      {
        eat_token (CPP_NOT);
+       token = peek ();
        e->force_leaf = true;
      }
  
*************** parser::parse_expr ()
*** 5447,5452 ****
--- 5448,5454 ----
  	fatal_at (token, "modifier %<^%> can only act on operation %<COND_EXPR%>");
  
        eat_token (CPP_XOR);
+       token = peek ();
        e->match_phi = true;
      }
  
diff -Nrcpad gcc-16-20260118/gcc/gimple-fold.cc gcc-16-20260125/gcc/gimple-fold.cc
*** gcc-16-20260118/gcc/gimple-fold.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/gimple-fold.cc	Sun Jan 25 22:32:07 2026
*************** gimple_fold_partial_load_store (gimple_s
*** 5899,5906 ****
--- 5899,5916 ----
  	  /* Replace load with else value.  */
  	  int else_index = internal_fn_else_index (ifn);
  	  tree else_value = gimple_call_arg (call, else_index);
+ 	  if (!is_gimple_reg (lhs))
+ 	    {
+ 	      if (!zerop (else_value))
+ 		return false;
+ 	      else_value = build_constructor (TREE_TYPE (lhs), NULL);
+ 	    }
  	  gassign *new_stmt = gimple_build_assign (lhs, else_value);
  	  gimple_set_location (new_stmt, gimple_location (call));
+ 	  /* When the lhs is an array for LANES version, then there is still
+ 	     a store, move the vops from the old stmt to the new one.  */
+ 	  if (!is_gimple_reg (lhs))
+ 	    gimple_move_vops (new_stmt, call);
  	  gsi_replace (gsi, new_stmt, false);
  	  return true;
  	}
diff -Nrcpad gcc-16-20260118/gcc/gimple-range.cc gcc-16-20260125/gcc/gimple-range.cc
*** gcc-16-20260118/gcc/gimple-range.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/gimple-range.cc	Sun Jan 25 22:32:07 2026
*************** gimple_ranger::range_on_entry (vrange &r
*** 171,177 ****
    range_of_stmt (r, SSA_NAME_DEF_STMT (name), name);
  
    // Now see if there is any on_entry value which may refine it.
!   if (m_cache.block_range (entry_range, bb, name))
      r.intersect (entry_range);
  
    if (idx)
--- 171,177 ----
    range_of_stmt (r, SSA_NAME_DEF_STMT (name), name);
  
    // Now see if there is any on_entry value which may refine it.
!   if (bb && m_cache.block_range (entry_range, bb, name))
      r.intersect (entry_range);
  
    if (idx)
*************** gimple_ranger::prefill_stmt_dependencies
*** 389,395 ****
  
    unsigned idx;
    gimple *stmt = SSA_NAME_DEF_STMT (ssa);
!   gcc_checking_assert (stmt && gimple_bb (stmt));
  
    // Only pre-process range-ops and phis.
    if (!gimple_range_op_handler::supported_p (stmt) && !is_a<gphi *> (stmt))
--- 389,397 ----
  
    unsigned idx;
    gimple *stmt = SSA_NAME_DEF_STMT (ssa);
!   gcc_checking_assert (stmt);
!   if (!gimple_bb (stmt))
!     return;
  
    // Only pre-process range-ops and phis.
    if (!gimple_range_op_handler::supported_p (stmt) && !is_a<gphi *> (stmt))
diff -Nrcpad gcc-16-20260118/gcc/gimple-ssa-strength-reduction.cc gcc-16-20260125/gcc/gimple-ssa-strength-reduction.cc
*** gcc-16-20260118/gcc/gimple-ssa-strength-reduction.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/gimple-ssa-strength-reduction.cc	Sun Jan 25 22:32:07 2026
*************** along with GCC; see the file COPYING3.
*** 57,62 ****
--- 57,63 ----
  #include "tree-eh.h"
  #include "builtins.h"
  #include "tree-ssa-dce.h"
+ #include "gimple-fold.h"
  
  /* Information about a strength reduction candidate.  Each statement
     in the candidate table represents an expression of one of the
*************** replace_mult_candidate (slsr_cand_t c, t
*** 2219,2224 ****
--- 2220,2232 ----
  	{
  	  gimple_stmt_iterator gsi = gsi_for_stmt (c->cand_stmt);
  	  slsr_cand_t cc = lookup_cand (c->first_interp);
+ 	  tree lhs = gimple_assign_lhs (c->cand_stmt);
+ 	  basis_name = gimple_convert (&gsi, true, GSI_SAME_STMT,
+ 				       UNKNOWN_LOCATION,
+ 				       TREE_TYPE (lhs), basis_name);
+ 	  bump_tree = gimple_convert (&gsi, true, GSI_SAME_STMT,
+ 				      UNKNOWN_LOCATION,
+ 				      TREE_TYPE (lhs), bump_tree);
  	  gimple_assign_set_rhs_with_ops (&gsi, code, basis_name, bump_tree);
  	  update_stmt (gsi_stmt (gsi));
  	  while (cc)
*************** replace_mult_candidate (slsr_cand_t c, t
*** 2226,2231 ****
--- 2234,2242 ----
  	      cc->cand_stmt = gsi_stmt (gsi);
  	      cc = lookup_cand (cc->next_interp);
  	    }
+ 	  if (gimple_needing_rewrite_undefined (gsi_stmt (gsi)))
+ 	    rewrite_to_defined_unconditional (&gsi);
+ 
  	  if (dump_file && (dump_flags & TDF_DETAILS))
  	    stmt_to_print = gsi_stmt (gsi);
  	}
*************** create_add_on_incoming_edge (slsr_cand_t
*** 2329,2337 ****
  
        if (incr_vec[i].initializer)
  	{
  	  enum tree_code code = negate_incr ? MINUS_EXPR : plus_code;
! 	  new_stmt = gimple_build_assign (lhs, code, basis_name,
! 					  incr_vec[i].initializer);
  	}
        else {
  	tree stride;
--- 2340,2358 ----
  
        if (incr_vec[i].initializer)
  	{
+ 	  tree init = incr_vec[i].initializer;
+ 	  tree wanted_type = POINTER_TYPE_P (basis_type) ? c->stride_type : basis_type;
+ 
+ 	  if (!types_compatible_p (TREE_TYPE (c->stride), wanted_type))
+ 	    {
+ 	      tree cast_stride = make_temp_ssa_name (wanted_type, NULL,
+ 						     "slsr");
+ 	      cast_stmt = gimple_build_assign (cast_stride, NOP_EXPR,
+ 					       init);
+ 	      init = cast_stride;
+ 	    }
  	  enum tree_code code = negate_incr ? MINUS_EXPR : plus_code;
! 	  new_stmt = gimple_build_assign (lhs, code, basis_name, init);
  	}
        else {
  	tree stride;
*************** create_add_on_incoming_edge (slsr_cand_t
*** 2363,2369 ****
      }
  
    gimple_set_location (new_stmt, loc);
!   gsi_insert_on_edge (e, new_stmt);
  
    if (dump_file && (dump_flags & TDF_DETAILS))
      {
--- 2384,2397 ----
      }
  
    gimple_set_location (new_stmt, loc);
!   if (gimple_needing_rewrite_undefined (new_stmt))
!     {
!       gimple_seq stmts;
!       stmts = rewrite_to_defined_unconditional (new_stmt);
!       gsi_insert_seq_on_edge (e, stmts);
!     }
!   else
!     gsi_insert_on_edge (e, new_stmt);
  
    if (dump_file && (dump_flags & TDF_DETAILS))
      {
*************** insert_initializers (slsr_cand_t c)
*** 3474,3481 ****
  	      gimple_set_location (cast_stmt, loc);
  	    }
  
- 	  gsi_insert_before (&gsi, init_stmt, GSI_SAME_STMT);
  	  gimple_set_location (init_stmt, loc);
  	}
        else
  	{
--- 3502,3516 ----
  	      gimple_set_location (cast_stmt, loc);
  	    }
  
  	  gimple_set_location (init_stmt, loc);
+ 	  if (gimple_needing_rewrite_undefined (init_stmt))
+ 	    {
+ 	      gimple_seq seq;
+ 	      seq = rewrite_to_defined_unconditional (init_stmt);
+ 	      gsi_insert_seq_before (&gsi, seq, GSI_SAME_STMT);
+ 	    }
+ 	  else
+ 	    gsi_insert_before (&gsi, init_stmt, GSI_SAME_STMT);
  	}
        else
  	{
*************** insert_initializers (slsr_cand_t c)
*** 3483,3488 ****
--- 3518,3524 ----
  	  gimple *basis_stmt = lookup_cand (c->basis)->cand_stmt;
  	  location_t loc = gimple_location (basis_stmt);
  
+ 	  gimple_set_location (init_stmt, gimple_location (basis_stmt));
  	  if (!gsi_end_p (gsi) && stmt_ends_bb_p (gsi_stmt (gsi)))
  	    {
  	      if (cast_stmt)
*************** insert_initializers (slsr_cand_t c)
*** 3490,3496 ****
  		  gsi_insert_before (&gsi, cast_stmt, GSI_SAME_STMT);
  		  gimple_set_location (cast_stmt, loc);
  		}
! 	      gsi_insert_before (&gsi, init_stmt, GSI_SAME_STMT);
  	    }
  	  else
  	    {
--- 3526,3539 ----
  		  gsi_insert_before (&gsi, cast_stmt, GSI_SAME_STMT);
  		  gimple_set_location (cast_stmt, loc);
  		}
! 	      if (gimple_needing_rewrite_undefined (init_stmt))
! 		{
! 		  gimple_seq seq;
! 		  seq = rewrite_to_defined_unconditional (init_stmt);
! 		  gsi_insert_seq_before (&gsi, seq, GSI_SAME_STMT);
! 		}
! 	      else
! 		gsi_insert_before (&gsi, init_stmt, GSI_SAME_STMT);
  	    }
  	  else
  	    {
*************** insert_initializers (slsr_cand_t c)
*** 3499,3508 ****
  		  gsi_insert_after (&gsi, cast_stmt, GSI_NEW_STMT);
  		  gimple_set_location (cast_stmt, loc);
  		}
! 	      gsi_insert_after (&gsi, init_stmt, GSI_NEW_STMT);
  	    }
- 
- 	  gimple_set_location (init_stmt, gimple_location (basis_stmt));
  	}
  
        if (dump_file && (dump_flags & TDF_DETAILS))
--- 3542,3556 ----
  		  gsi_insert_after (&gsi, cast_stmt, GSI_NEW_STMT);
  		  gimple_set_location (cast_stmt, loc);
  		}
! 	      if (gimple_needing_rewrite_undefined (init_stmt))
! 		{
! 		  gimple_seq seq;
! 		  seq = rewrite_to_defined_unconditional (init_stmt);
! 		  gsi_insert_seq_after (&gsi, seq, GSI_SAME_STMT);
! 		}
! 	      else
! 		gsi_insert_after (&gsi, init_stmt, GSI_SAME_STMT);
  	    }
  	}
  
        if (dump_file && (dump_flags & TDF_DETAILS))
*************** static tree
*** 3627,3644 ****
  introduce_cast_before_cand (slsr_cand_t c, tree to_type, tree from_expr)
  {
    tree cast_lhs;
-   gassign *cast_stmt;
    gimple_stmt_iterator gsi = gsi_for_stmt (c->cand_stmt);
  
!   cast_lhs = make_temp_ssa_name (to_type, NULL, "slsr");
!   cast_stmt = gimple_build_assign (cast_lhs, NOP_EXPR, from_expr);
!   gimple_set_location (cast_stmt, gimple_location (c->cand_stmt));
!   gsi_insert_before (&gsi, cast_stmt, GSI_SAME_STMT);
  
    if (dump_file && (dump_flags & TDF_DETAILS))
      {
!       fputs ("  Inserting: ", dump_file);
!       print_gimple_stmt (dump_file, cast_stmt, 0);
      }
  
    return cast_lhs;
--- 3675,3691 ----
  introduce_cast_before_cand (slsr_cand_t c, tree to_type, tree from_expr)
  {
    tree cast_lhs;
    gimple_stmt_iterator gsi = gsi_for_stmt (c->cand_stmt);
  
!   cast_lhs = gimple_convert (&gsi, true, GSI_SAME_STMT,
! 			     gimple_location (c->cand_stmt),
! 			     to_type, from_expr);
  
    if (dump_file && (dump_flags & TDF_DETAILS))
      {
!       fputs ("  Inserting(cast): ", dump_file);
!       print_generic_expr (dump_file, cast_lhs);
!       fprintf (dump_file, "\n");
      }
  
    return cast_lhs;
*************** replace_rhs_if_not_dup (enum tree_code n
*** 3662,3668 ****
--- 3709,3725 ----
  	  && (!operand_equal_p (new_rhs1, old_rhs2, 0)
  	      || !operand_equal_p (new_rhs2, old_rhs1, 0))))
      {
+       tree lhs = gimple_assign_lhs (c->cand_stmt);
        gimple_stmt_iterator gsi = gsi_for_stmt (c->cand_stmt);
+       tree rhs2_type = TREE_TYPE (lhs);
+       if (POINTER_TYPE_P (rhs2_type))
+ 	rhs2_type = sizetype;
+       new_rhs1 = gimple_convert (&gsi, true, GSI_SAME_STMT,
+ 				 UNKNOWN_LOCATION,
+ 				 TREE_TYPE (lhs), new_rhs1);
+       new_rhs2 = gimple_convert (&gsi, true, GSI_SAME_STMT,
+ 				 UNKNOWN_LOCATION,
+ 				 rhs2_type, new_rhs2);
        slsr_cand_t cc = lookup_cand (c->first_interp);
        gimple_assign_set_rhs_with_ops (&gsi, new_code, new_rhs1, new_rhs2);
        update_stmt (gsi_stmt (gsi));
*************** replace_rhs_if_not_dup (enum tree_code n
*** 3672,3677 ****
--- 3729,3736 ----
  	  cc = lookup_cand (cc->next_interp);
  	}
  
+       if (gimple_needing_rewrite_undefined (gsi_stmt (gsi)))
+ 	rewrite_to_defined_unconditional (&gsi);
        if (dump_file && (dump_flags & TDF_DETAILS))
  	return gsi_stmt (gsi);
      }
*************** replace_one_candidate (slsr_cand_t c, un
*** 3786,3792 ****
--- 3845,3858 ----
  	  || !operand_equal_p (rhs2, orig_rhs2, 0))
  	{
  	  gimple_stmt_iterator gsi = gsi_for_stmt (c->cand_stmt);
+ 	  tree lhs = gimple_assign_lhs (c->cand_stmt);
  	  slsr_cand_t cc = lookup_cand (c->first_interp);
+ 	  basis_name = gimple_convert (&gsi, true, GSI_SAME_STMT,
+ 				       UNKNOWN_LOCATION,
+ 				       TREE_TYPE (lhs), basis_name);
+ 	  rhs2 = gimple_convert (&gsi, true, GSI_SAME_STMT,
+ 				 UNKNOWN_LOCATION,
+ 				 TREE_TYPE (lhs), rhs2);
  	  gimple_assign_set_rhs_with_ops (&gsi, MINUS_EXPR, basis_name, rhs2);
  	  update_stmt (gsi_stmt (gsi));
  	  while (cc)
diff -Nrcpad gcc-16-20260118/gcc/haifa-sched.cc gcc-16-20260125/gcc/haifa-sched.cc
*** gcc-16-20260118/gcc/haifa-sched.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/haifa-sched.cc	Sun Jan 25 22:32:07 2026
*************** model_recompute (rtx_insn *insn)
*** 2147,2153 ****
    for (use = INSN_REG_USE_LIST (insn); use != NULL; use = use->next_insn_use)
      {
        new_last = model_last_use_except (use);
!       if (new_last < point && bitmap_set_bit (tmp_bitmap, use->regno))
  	{
  	  gcc_assert (num_uses < ARRAY_SIZE (uses));
  	  uses[num_uses].last_use = new_last;
--- 2147,2159 ----
    for (use = INSN_REG_USE_LIST (insn); use != NULL; use = use->next_insn_use)
      {
        new_last = model_last_use_except (use);
!       if (new_last < point
! 	  && bitmap_set_bit (tmp_bitmap, use->regno)
! 	  /* df_get_live_in has not necessarily been updated to reflect the
! 	     effect of inter-block movement performed by earlier schedules.
! 	     Cope with stale live-in sets by ignoring registers that are not
! 	     currently assumed to be live.  */
! 	  && bitmap_bit_p (curr_reg_live, use->regno))
  	{
  	  gcc_assert (num_uses < ARRAY_SIZE (uses));
  	  uses[num_uses].last_use = new_last;
diff -Nrcpad gcc-16-20260118/gcc/ipa-locality-cloning.cc gcc-16-20260125/gcc/ipa-locality-cloning.cc
*** gcc-16-20260118/gcc/ipa-locality-cloning.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/ipa-locality-cloning.cc	Sun Jan 25 22:32:07 2026
*************** along with GCC; see the file COPYING3.
*** 43,49 ****
  	 Create a local clone in current partition, if cloning criteria is
  	 satisfied.
        3. Redirect any new caller to a local clone if one exists.
!    Partition size is param controlled to fine tune per program behavior.  */
  
  #include "config.h"
  #define INCLUDE_ALGORITHM
--- 43,57 ----
  	 Create a local clone in current partition, if cloning criteria is
  	 satisfied.
        3. Redirect any new caller to a local clone if one exists.
! 
!    Another heuristics can be used in the absense of profile information.  This
!    approach uses C++ template instantiation types to group functions together.
!    Entry functions are sorted in the beginning by most used template types, and
!    callees are sorted as part of partition_callchain (), again by template
!    types.
! 
!    For bothe schemes, partition size is param controlled to fine tune per
!    program behavior.  */
  
  #include "config.h"
  #define INCLUDE_ALGORITHM
*************** along with GCC; see the file COPYING3.
*** 65,81 ****
  #include "ipa-modref-tree.h"
  #include "ipa-modref.h"
  #include "symtab-clones.h"
  #include "ipa-locality-cloning.h"
  
  /* Locality partitions, assigns nodes to partitions.  These are used later in
     WPA partitioning.  */
  vec<locality_partition> locality_partitions;
  
  /* Map from original node to its latest clone.  Gets overwritten whenever a new
     clone is created from the same node.  */
! hash_map<cgraph_node *, cgraph_node *> node_to_clone;
  /* Map from clone to its original node.  */
! hash_map<cgraph_node *, cgraph_node *> clone_to_node;
  
  /* Data structure to hold static heuristics and orders for cgraph_nodes.  */
  struct locality_order
--- 73,92 ----
  #include "ipa-modref-tree.h"
  #include "ipa-modref.h"
  #include "symtab-clones.h"
+ #include "demangle.h"
  #include "ipa-locality-cloning.h"
  
  /* Locality partitions, assigns nodes to partitions.  These are used later in
     WPA partitioning.  */
  vec<locality_partition> locality_partitions;
  
+ using loc_map_hash = int_hash<int, 0, -1>;
+ 
  /* Map from original node to its latest clone.  Gets overwritten whenever a new
     clone is created from the same node.  */
! static std::unique_ptr<hash_map<loc_map_hash, cgraph_node *>> node_to_clone;
  /* Map from clone to its original node.  */
! static std::unique_ptr<hash_map<loc_map_hash, cgraph_node *>> clone_to_node;
  
  /* Data structure to hold static heuristics and orders for cgraph_nodes.  */
  struct locality_order
*************** struct locality_order
*** 86,91 ****
--- 97,448 ----
    {}
  };
  
+ /* Data structure to hold information about unique template instantiations.  */
+ struct templ_info
+ {
+   hashval_t templ_hash;
+   int count;
+   int order;
+ };
+ 
+ /* Data structure to hold accumulated edge frequencies for unique callees.
+    Frequencies of aliased callees are accumulated with the ultimate target
+    alias represented by ultimate_callee.
+    ultimate_caller is the ultimate non-inlined caller of the unique callee.
+    Edge is the first edge encountered for the callee.  */
+ struct locality_callee_info
+ {
+   cgraph_node *ultimate_caller;
+   cgraph_node *ultimate_callee;
+   cgraph_edge *edge;
+   sreal freq;
+ };
+ 
+ /* Data structure to hold precomputed callchain information.  */
+ struct locality_info
+ {
+   cgraph_node *node;
+ 
+   /* Consolidated callees, including callees of inlined nodes.  */
+   vec<locality_callee_info *> all_callees;
+ 
+   /* Accumulated caller->node edge frequencies for unique callers.  */
+   hash_map<loc_map_hash, sreal> caller_freq;
+   /* Accumulated node->callee edge frequencies for unique callees.  */
+   hash_map<loc_map_hash, locality_callee_info> callee_info;
+ 
+   /* Template instantiation info.  */
+   hashval_t templ_hash;
+ 
+   locality_info ()
+     {
+       all_callees.create (1);
+       templ_hash = 0;
+     }
+   ~locality_info ()
+     {
+       all_callees.release ();
+     }
+ };
+ 
+ /* Template instantiation hash_map.  */
+ typedef hash_map<int_hash<hashval_t, 0>, templ_info> hash_freq_map_t;
+ static std::unique_ptr<hash_freq_map_t> templ_hash_map;
+ 
+ /* Pool allocation for locality_info.  */
+ static object_allocator<locality_info> loc_infos ("IPA locality callchain");
+ static
+ std::unique_ptr<hash_map<loc_map_hash, locality_info *>> node_to_ch_info;
+ 
+ /* Return locality_info for NODE if present, otherwise return NULL.  */
+ static inline locality_info *
+ get_locality_info (cgraph_node *node)
+ {
+   locality_info **ninfo = node_to_ch_info->get (node->get_uid ());
+   if (ninfo)
+     return *ninfo;
+   return NULL;
+ }
+ 
+ /* Forward declaration.  */
+ static int compare_node_uids (cgraph_node *n1, cgraph_node *n2);
+ 
+ /* Helper function to qsort all_callees in locality_info by edge hotness.  */
+ static int
+ callee_default_cmp (const void *pa, const void *pb)
+ {
+   const locality_callee_info *a = *(static_cast<const locality_callee_info
+ 				    *const *> (pa));
+   const locality_callee_info *b = *(static_cast<const locality_callee_info
+ 				    *const *> (pb));
+   if (a->freq < b->freq)
+     return 1;
+   else if (a->freq > b->freq)
+     return -1;
+   return compare_node_uids (a->ultimate_callee, b->ultimate_callee);
+ }
+ 
+ /* Sort all_callees of NODE by template hashes and edge hotness.
+ 
+    all_callees is already sorted by call frequency.  If templ_hash of the
+    caller is same as a callee's templ_hash then that callee is ordered first.
+    Callees having same templ_hash are sorted by call frequency, callees with
+    different templ_hash are sorted by the template order.
+ 
+    if (Both PA and PB have templates && PA's template == PB'template) ||
+    (Both A and B don't have templates): sort by frequency
+ 
+    if (PA doesn't have template && PB has) || (Both have different templates &&
+     caller's template == PB's template): PB before PA
+ 
+    if (PA has template && PB doesn't) || (Both have different templates &&
+     caller's template == PA's template): PA before PB
+ 
+    if (Both have different templates && both are different than caller's
+     template: sort by template order.  */
+ static int
+ callee_templ_cmp (const void *pa, const void *pb)
+ {
+   const locality_callee_info *a = *static_cast<const locality_callee_info
+     *const *> (pa);
+   const locality_callee_info *b = *static_cast<const locality_callee_info
+     *const *> (pb);
+ 
+   locality_info *caller_info = get_locality_info (a->ultimate_caller);
+   hashval_t caller_hash = 0;
+   if (caller_info)
+     caller_hash = caller_info->templ_hash;
+ 
+   locality_info *ainfo = get_locality_info (a->edge->callee);
+   locality_info *binfo = get_locality_info (b->edge->callee);
+   templ_info *atinfo = NULL, *btinfo = NULL;
+   hashval_t a_hash = 0, b_hash = 0;
+   if (ainfo)
+     {
+       a_hash = ainfo->templ_hash;
+       atinfo = templ_hash_map->get (a_hash);
+     }
+   if (binfo)
+     {
+       b_hash = binfo->templ_hash;
+       btinfo = templ_hash_map->get (b_hash);
+     }
+ 
+   if (a_hash == b_hash)
+     {
+       /* We get here if both have same template type or both have 0 as hash.  */
+       return callee_default_cmp (pa, pb);
+     }
+   else if (a_hash && (!b_hash || a_hash == caller_hash))
+     return -1;
+   else if (b_hash && (!a_hash || b_hash == caller_hash))
+     return 1;
+   else
+     {
+       gcc_assert (atinfo && btinfo);
+       if (atinfo->order < btinfo->order)
+ 	return -1;
+       /* Order being same is already handled above.  */
+       return 1;
+     }
+   return callee_default_cmp (pa, pb);
+ }
+ 
+ /* Sort all_callees in INFO by edge hotness.  */
+ static void
+ sort_all_callees_default (locality_info *info)
+ {
+   hash_map<loc_map_hash, locality_callee_info>::iterator iter
+     = info->callee_info.begin ();
+   for (; iter != info->callee_info.end (); ++iter)
+     info->all_callees.safe_push (&((*iter).second));
+   info->all_callees.qsort (callee_default_cmp);
+ }
+ 
+ /* Populate locality_info for NODE from its direct callees and callees via
+    inlined nodes.  N is used to iterate callees of NODE and callees of inlined
+    callees of NODE.  */
+ static void
+ populate_callee_locality_info (cgraph_node *node, cgraph_node *n,
+ 			       locality_info *info)
+ {
+   for (cgraph_edge *e = n->callees; e; e = e->next_callee)
+     {
+       cgraph_node *c = e->callee->ultimate_alias_target ();
+       if (c->inlined_to == node)
+ 	populate_callee_locality_info (node, c, info);
+       else
+ 	{
+ 	  bool existed;
+ 	  locality_callee_info &cinfo = info->callee_info.get_or_insert
+ 	    (c->get_uid (), &existed);
+ 	  if (!existed)
+ 	    {
+ 	      cinfo.ultimate_callee = c;
+ 	      cinfo.ultimate_caller = node;
+ 	      cinfo.edge = e;
+ 	      cinfo.freq = e->sreal_frequency ();
+ 	    }
+ 	  else
+ 	    cinfo.freq = cinfo.freq + e->sreal_frequency ();
+ 	}
+     }
+ }
+ 
+ /* Forward declaration.  */
+ static int static_profile_cmp (const void *pa, const void *pb);
+ 
+ /* Helper function for qsort; sort nodes in the descending order derived of
+    template instantiation types by frequency count.  */
+ static int
+ static_profile_templ_cmp (const void *pa, const void *pb)
+ {
+   const locality_order *a = *static_cast<const locality_order *const *> (pa);
+   const locality_order *b = *static_cast<const locality_order *const *> (pb);
+   locality_info *ainfo = get_locality_info (a->node);
+   templ_info *atinfo = templ_hash_map->get (ainfo->templ_hash);
+   locality_info *binfo = get_locality_info (b->node);
+   templ_info *btinfo = templ_hash_map->get (binfo->templ_hash);
+   if ((atinfo && !btinfo)
+       || (atinfo && btinfo && atinfo->order < btinfo->order))
+     return -1;
+   else if ((btinfo && !atinfo)
+ 	   || (atinfo && btinfo && atinfo->order > btinfo->order))
+     return 1;
+   return static_profile_cmp (pa, pb);
+ }
+ 
+ /* Helper function for qsort; sort template instantiation types in descending
+    order of their frequency count.  */
+ static int
+ sort_templ_hashes_cmp (const void *pa, const void *pb)
+ {
+   const std::pair<hashval_t, int> *a = static_cast<const std::pair<hashval_t,
+ 	int> *> (pa);
+   const std::pair<hashval_t, int> *b = static_cast<const std::pair<hashval_t,
+ 	int> *> (pb);
+   if (a->second < b->second)
+     return 1;
+   else if (a->second > b->second)
+     return -1;
+   else
+     {
+       long long int res = (long long int)a->first - (long long int)b->first;
+       /* Hashes from templ_hash_map cannot be equal.  */
+       gcc_assert (res != 0);
+       return res > 0 ? 1 : -1;
+     }
+ }
+ 
+ /* Sort template instantiation types and record the sorted order.  */
+ static void
+ order_templ_hashes ()
+ {
+   auto_vec<std::pair<hashval_t, int>> templ_hashes;
+   hash_freq_map_t::iterator iter = templ_hash_map->begin ();
+   for (; iter != templ_hash_map->end (); ++iter)
+     templ_hashes.safe_push (std::make_pair ((*iter).first,
+ 					     (*iter).second.count));
+   templ_hashes.qsort (sort_templ_hashes_cmp);
+   for (unsigned i = 0; i < templ_hashes.length (); i++)
+     {
+       templ_info *tinfo = templ_hash_map->get (templ_hashes[i].first);
+       gcc_assert (tinfo);
+       tinfo->order = i;
+     }
+ }
+ 
+ /* Populate locality_info for NODE from its direct callers.  */
+ static void
+ populate_caller_locality_info (cgraph_node *node, locality_info *info)
+ {
+   struct cgraph_edge *e;
+   for (e = node->callers; e; e = e->next_caller)
+     {
+       /* Make a local decision about all edges for EDGE->caller but not the
+ 	 other nodes already in the partition.  Their edges will be visited
+ 	 later or may have been visited before and not fit the
+ 	 cut-off criteria.  */
+       if (auto cfreq = info->caller_freq.get (e->caller->get_uid ()))
+ 	(*cfreq) = (*cfreq) + e->sreal_frequency ();
+       else
+ 	info->caller_freq.put (e->caller->get_uid (), e->sreal_frequency ());
+     }
+ }
+ 
+ /* Return true if template component is found in the demangled function name in
+    DC.  */
+ static bool
+ locality_dc_template_p (struct demangle_component *dc)
+ {
+   switch (dc->type)
+     {
+     case DEMANGLE_COMPONENT_QUAL_NAME:
+       return locality_dc_template_p (dc->u.s_binary.left);
+     case DEMANGLE_COMPONENT_TEMPLATE:
+       return true;
+     default:
+       return false;
+     }
+   return false;
+ }
+ 
+ /* Generate hash for the template type from NODE's name if NODE represents a
+    templated functions.  If present, record in INFO.  */
+ 
+ static void
+ populate_templ_info (cgraph_node *node, locality_info *info)
+ {
+   if (!info)
+     return;
+   void *alloc = NULL;
+   const char *asm_name = IDENTIFIER_POINTER  (DECL_ASSEMBLER_NAME
+ 					      (node->decl));
+   const char *demangled_name = cplus_demangle_v3 (asm_name, 0);
+   struct demangle_component *dc =
+     cplus_demangle_v3_components (asm_name, DMGL_NO_OPTS, &alloc);
+ 
+   if (demangled_name && dc && locality_dc_template_p (dc))
+     {
+       const char *templ = strchr (demangled_name, '<');
+       hashval_t t_hash = htab_hash_string (templ);
+       info->templ_hash = t_hash;
+ 
+       bool existed;
+       templ_info &tinfo = templ_hash_map->get_or_insert (t_hash, &existed);
+       if (existed)
+ 	tinfo.count = tinfo.count + 1;
+       else
+ 	tinfo.count = 1;
+     }
+   free (alloc);
+ }
+ 
+ /* Initialize locality_info for node V.  If CLONE_P is true, V is a locality
+    clone; populate callee information for locality clones because caller info
+    is needed for cloning decisions and clones are not cloned again.  Populate
+    both caller and callee info for non-clone nodes.  */
+ 
+ static inline void
+ create_locality_info (cgraph_node *v, bool templ_p = false,
+ 		      bool clone_p = false)
+ {
+   locality_info **info = node_to_ch_info->get (v->get_uid ());
+   gcc_assert (!info);
+ 
+   locality_info *vinfo = loc_infos.allocate ();
+   vinfo->node = v;
+   node_to_ch_info->put (v->get_uid (), vinfo);
+ 
+   /* Locality clones are not cloned again.  */
+   if (!clone_p)
+     populate_caller_locality_info (v, vinfo);
+   populate_callee_locality_info (v, v, vinfo);
+   sort_all_callees_default (vinfo);
+   if (templ_p)
+     populate_templ_info (v, vinfo);
+ }
+ 
  /* Return true if NODE is already in some partition.  */
  static inline bool
  node_partitioned_p (cgraph_node *node)
*************** adjust_recursive_callees (cgraph_node *c
*** 511,517 ****
        cgraph_node *callee = e->callee;
        if (callee == orig_callee)
  	{
! 	  cgraph_node **cl = node_to_clone.get (orig_callee);
  	  gcc_assert (cl && *cl == new_callee);
  	  e->redirect_callee_duplicating_thunks (new_callee);
  	  if (dump_file)
--- 868,874 ----
        cgraph_node *callee = e->callee;
        if (callee == orig_callee)
  	{
! 	  cgraph_node **cl = node_to_clone->get (orig_callee->get_uid ());
  	  gcc_assert (cl && *cl == new_callee);
  	  e->redirect_callee_duplicating_thunks (new_callee);
  	  if (dump_file)
*************** inline_clones (cgraph_node *caller, cgra
*** 571,578 ****
  				 "locality_clone" /*suffix*/);
        edge->redirect_callee (cl);
  
!       node_to_clone.put (callee, cl);
!       clone_to_node.put (cl, callee);
  
        if (callee->thunk)
  	{
--- 928,935 ----
  				 "locality_clone" /*suffix*/);
        edge->redirect_callee (cl);
  
!       node_to_clone->put (callee->get_uid (), cl);
!       clone_to_node->put (cl->get_uid (), callee);
  
        if (callee->thunk)
  	{
*************** clone_node_as_needed (cgraph_edge *edge,
*** 659,669 ****
       a -> b or ac -> b or ac -> bc0  */
  
    cgraph_node *orig_cnode = cnode;
!   cgraph_node **o_cnode = clone_to_node.get (cnode);
    if (o_cnode)
      orig_cnode = *o_cnode;
  
!   cgraph_node **cnode_cl = node_to_clone.get (orig_cnode);
  
    if (cnode_cl && node_in_partition_p (partition, *cnode_cl))
      {
--- 1016,1026 ----
       a -> b or ac -> b or ac -> bc0  */
  
    cgraph_node *orig_cnode = cnode;
!   cgraph_node **o_cnode = clone_to_node->get (cnode->get_uid ());
    if (o_cnode)
      orig_cnode = *o_cnode;
  
!   cgraph_node **cnode_cl = node_to_clone->get (orig_cnode->get_uid ());
  
    if (cnode_cl && node_in_partition_p (partition, *cnode_cl))
      {
*************** clone_node_as_needed (cgraph_edge *edge,
*** 714,721 ****
    if (!cloned_node)
      return NULL;
  
!   node_to_clone.put (cnode, cloned_node);
!   clone_to_node.put (cloned_node, cnode);
  
    adjust_recursive_callees (cloned_node, cloned_node, cnode);
    symtab->call_cgraph_duplication_hooks (cnode, cloned_node);
--- 1071,1078 ----
    if (!cloned_node)
      return NULL;
  
!   node_to_clone->put (cnode->get_uid (), cloned_node);
!   clone_to_node->put (cloned_node->get_uid (), cnode);
  
    adjust_recursive_callees (cloned_node, cloned_node, cnode);
    symtab->call_cgraph_duplication_hooks (cnode, cloned_node);
*************** clone_node_as_needed (cgraph_edge *edge,
*** 727,751 ****
    return cloned_node;
  }
  
- /* Accumulate frequency of all edges from EDGE->caller to EDGE->callee.  */
- 
- static sreal
- accumulate_incoming_edge_frequency (cgraph_edge *edge)
- {
-   sreal count = 0;
-   struct cgraph_edge *e;
-   for (e = edge->callee->callers; e; e = e->next_caller)
-     {
-       /* Make a local decision about all edges for EDGE->caller but not the
- 	 other nodes already in the partition.  Their edges will be visited
- 	 later or may have been visited before and not fit the
- 	 cut-off criteria.  */
-       if (e->caller == edge->caller)
- 	count += e->sreal_frequency ();
-     }
-   return count;
- }
- 
  /* Determine if EDGE->CALLEE is suitable for cloning.  It is assummed that the
     callee is not an inlined node.  */
  
--- 1084,1089 ----
*************** suitable_for_locality_cloning_p (cgraph_
*** 801,894 ****
    return true;
  }
  
! /* Map from caller to all callees already visited for partitioning.  */
! hash_map<cgraph_node *, auto_vec<cgraph_node *> > caller_to_callees;
  
! /* Partition EDGE->CALLEE into PARTITION or clone if already partitioned and
     satisfies cloning criteria such as CLONING_MODEL, REAL_FREQ and SIZE
!    cut-offs and CLONE_FURTHER_P set by previous caller.  */
  
  /* callgraph can have multiple caller to callee edges for multiple callsites
     For the first such edge, we make decisions about cutoffs and cloning because
     we redirect ALL callsites to cloned callee, not just one of them.  */
  
  static void
! partition_callchain (cgraph_edge *edge, locality_partition partition,
! 		     bool clone_further_p,
  		     lto_locality_cloning_model cloning_model,
! 		     double freq_cutoff, int size, int &cl_num)
  {
    /* Aliases are added in the same partition as their targets.
       Aliases are not cloned and their callees are not processed separately.  */
!   cgraph_node *node = edge->callee->ultimate_alias_target ();
!   cgraph_node *caller = edge->caller;
!   cgraph_node *caller_node = node, *cl_node = NULL;
! 
!   /* Already visited the caller to callee edges.  */
!   auto_vec<cgraph_node *> &callees = caller_to_callees.get_or_insert (caller);
!   if (std::find (callees.begin (), callees.end (), node) != callees.end ())
!     return;
! 
!   callees.safe_push (node);
  
!   if (node->get_partitioning_class () == SYMBOL_PARTITION)
      {
!       if (!node_partitioned_p (node))
! 	{
! 	  add_node_to_partition (partition, node);
! 	  if (dump_file)
! 	    fprintf (dump_file, "Partitioned node: %s\n",
! 		     node->dump_asm_name ());
! 	}
!       else if (cloning_model >= LTO_LOCALITY_NON_INTERPOSABLE_CLONING
! 	       && !node_in_partition_p (partition, node))
  	{
! 	  /* Non-inlined node, or alias, already partitioned
! 	     If cut-off, don't clone callees but partition unpartitioned
! 	     callees.
! 	     size is node + inlined nodes.  */
! 	  if (clone_further_p)
  	    {
! 	      if (!node->alias)
! 		if (ipa_size_summaries->get (node)->size >= size)
! 		  clone_further_p = false;
! 
! 	      if (freq_cutoff != 0.0)
! 		{
! 		  sreal acc_freq = accumulate_incoming_edge_frequency (edge);
! 		  if (acc_freq.to_double () < freq_cutoff)
! 		    clone_further_p = false;
! 		}
  	    }
  
- 	  if (!suitable_for_locality_cloning_p (edge, cloning_model))
- 	    clone_further_p = false;
- 
- 	  if (clone_further_p)
  	    {
! 	      /* Try to clone NODE and its inline chain.  */
! 	      if (dump_file)
! 		fprintf (dump_file, "Cloning node: %s\n",
! 			 node->dump_asm_name ());
! 	      cl_node = clone_node_as_needed (edge, partition, cl_num,
! 					      cloning_model);
! 	      if (cl_node)
  		{
! 		  add_node_to_partition (partition, cl_node);
! 		  caller_node = cl_node;
  		}
- 	      else
- 		caller_node = NULL;
  	    }
  	}
      }
-   else if (!node->inlined_to)
-     return;
- 
-   if (caller_node)
-     for (cgraph_edge *e = caller_node->callees; e; e = e->next_callee)
-       partition_callchain (e, partition, clone_further_p, cloning_model,
- 			   freq_cutoff, size, cl_num);
  }
  
  /* Determine whether NODE is an entrypoint to a callchain.  */
--- 1139,1268 ----
    return true;
  }
  
! /* Return true if edge->callee->ultimate_alias_target can be cloned.  */
! static bool
! clone_node_p (cgraph_edge *edge, lto_locality_cloning_model cloning_model,
! 	      double freq_cutoff, int size)
! {
!   cgraph_node *node = edge->callee->ultimate_alias_target ();
  
!   if (!suitable_for_locality_cloning_p (edge, cloning_model))
!     return false;
! 
!   if (!node->alias)
!     if (ipa_size_summaries->get (node)->size >= size)
!       return false;
! 
!   if (freq_cutoff != 0.0)
!     {
!       locality_info *info = get_locality_info (node);
!       gcc_assert (info);
!       if (auto cfreq = info->caller_freq.get (edge->caller->get_uid ()))
! 	{
! 	  if ((*cfreq).to_double () < freq_cutoff)
! 	    return false;
! 	}
!       else if (edge->sreal_frequency ().to_double () < freq_cutoff)
! 	return false;
!     }
! 
!   return true;
! }
! 
! /* Partition NODE's callees into PARTITION or clone if already partitioned and
     satisfies cloning criteria such as CLONING_MODEL, REAL_FREQ and SIZE
!    cut-offs.  */
  
  /* callgraph can have multiple caller to callee edges for multiple callsites
     For the first such edge, we make decisions about cutoffs and cloning because
     we redirect ALL callsites to cloned callee, not just one of them.  */
  
  static void
! partition_callchain (cgraph_node *node, locality_partition &partition,
  		     lto_locality_cloning_model cloning_model,
! 		     double freq_cutoff, int size, int &cl_num,
! 		     int &npartitions, int64_t partition_size,
! 		     lto_locality_heuristics scheme)
  {
    /* Aliases are added in the same partition as their targets.
       Aliases are not cloned and their callees are not processed separately.  */
!   cgraph_node *cl_node = NULL;
!   if (partition->insns > partition_size)
!     partition = create_partition (npartitions);
  
!   /* Iterate over all unique callees of NODE, direct callees and callees via
!      inlined nodes.  This avoids calling partition_callchain () separately for
!      inlined nodes which themselves are already partitioned along with their
!      inlined_to nodes.  */
!   locality_info *info = get_locality_info (node);
!   if (scheme == LTO_LOCALITY_CPP_TEMPLATE)
!     info->all_callees.qsort (callee_templ_cmp);
!   for (unsigned i = 0; i < info->all_callees.length (); i++)
      {
!       cgraph_edge *e = info->all_callees[i]->edge;
!       cgraph_node *n = e->callee->ultimate_alias_target ();
!       if (n->get_partitioning_class () == SYMBOL_PARTITION)
  	{
! 	  if (!node_partitioned_p (n))
  	    {
! 	      add_node_to_partition (partition, n);
! 	      if (dump_file)
! 	      fprintf (dump_file, "Partitioned node: %s\n",
! 		       n->dump_asm_name ());
! 	      partition_callchain (n, partition, cloning_model, freq_cutoff,
! 				   size, cl_num, npartitions, partition_size,
! 				   scheme);
  	    }
+ 	  else if (cloning_model >= LTO_LOCALITY_NON_INTERPOSABLE_CLONING
+ 		   && (!e->callee->alias)
+ 		   && node_in_partition_p (partition, e->caller)
+ 		   && (!node_in_partition_p (partition, n)))
  
  	    {
! 	      /* 3 possible scenarios if N is already partitioned but not in
! 		 present in PARTITION:
! 		 1.  There's a clone of N present in PARTITION, redirect to that
! 		     clone, no need to check for suitability.
! 		 2.  N itself is a locality clone, cloned as part of another
! 		     callchain.  If a clone of N's original node is present in
! 		     PARTITION, redirect to it without checking for suitability.
! 		     Cloned node itself is not cloned again.
! 		     Example: suppose N = B_clone ().
! 		     In partition X, edge A->B was transformed to A->B_clone0.
! 		     In current partition, A was cloned to A_clone0 and now
! 		     B_clone0 is visited via edge A_clone0->B_clone0.  If a
! 		     B_clonei is present, redirect A_clone0 to it, otherise do
! 		     nothing.
! 		 3.  N is not a locality clone and no clone of N is present in
! 		     PARTITION, check for suitability and clone.  */
! 	      cgraph_node *orig_cnode = n;
! 	      cgraph_node **o_cnode = clone_to_node->get (n->get_uid ());
! 	      if (o_cnode)
! 		orig_cnode = *o_cnode;
! 
! 	      cgraph_node **cnode_cl = node_to_clone->get (orig_cnode->get_uid
! 							   ());
! 
! 	      if ((cnode_cl && node_in_partition_p (partition, *cnode_cl))
! 		  || (orig_cnode == n
! 		      && clone_node_p (e, cloning_model, freq_cutoff, size)))
  		{
! 		  cl_node = clone_node_as_needed (e, partition, cl_num,
! 						  cloning_model);
! 		  if (cl_node)
! 		    {
! 		      create_locality_info (cl_node,
! 					    scheme == LTO_LOCALITY_CPP_TEMPLATE,
! 					    true);
! 		      add_node_to_partition (partition, cl_node);
! 		      partition_callchain (cl_node, partition, cloning_model,
! 					   freq_cutoff, size, cl_num,
! 					   npartitions, partition_size, scheme);
! 		    }
  		}
  	    }
  	}
      }
  }
  
  /* Determine whether NODE is an entrypoint to a callchain.  */
*************** is_entry_node_p (cgraph_node *node)
*** 900,905 ****
--- 1274,1283 ----
    if (node->get_partitioning_class () != SYMBOL_PARTITION)
      return false;
  
+   /* NODE and all its aliases or thunk are local.  */
+   if (node->local_p ())
+     return false;
+ 
    if (!node->callers)
      return true;
  
*************** is_entry_node_p (cgraph_node *node)
*** 908,916 ****
        if (! e->recursive_p ())
  	return false;
      }
!   if (node->alias
!       && !is_entry_node_p (node->ultimate_alias_target ()))
!     return false;
    return true;
  }
  
--- 1286,1292 ----
        if (! e->recursive_p ())
  	return false;
      }
! 
    return true;
  }
  
*************** locality_determine_ipa_order (auto_vec<l
*** 925,930 ****
--- 1301,1307 ----
    FOR_EACH_DEFINED_FUNCTION (node)
      if (node->get_partitioning_class () == SYMBOL_PARTITION)
        {
+ 	create_locality_info (node);
  	if (node->no_reorder)
  	  {
  	    if (dump_file)
*************** locality_determine_ipa_order (auto_vec<l
*** 965,976 ****
     Store the order in ORDER.  */
  
  static bool
! locality_determine_static_order (auto_vec<locality_order *> *order)
  {
    struct cgraph_node *node;
    FOR_EACH_DEFINED_FUNCTION (node)
      if (node->get_partitioning_class () == SYMBOL_PARTITION)
        {
  	if (node->no_reorder)
  	  {
  	    if (dump_file)
--- 1342,1355 ----
     Store the order in ORDER.  */
  
  static bool
! locality_determine_static_order (auto_vec<locality_order *> *order,
! 				 lto_locality_heuristics scheme)
  {
    struct cgraph_node *node;
    FOR_EACH_DEFINED_FUNCTION (node)
      if (node->get_partitioning_class () == SYMBOL_PARTITION)
        {
+ 	create_locality_info (node, scheme == LTO_LOCALITY_CPP_TEMPLATE);
  	if (node->no_reorder)
  	  {
  	    if (dump_file)
*************** locality_determine_static_order (auto_ve
*** 990,995 ****
--- 1369,1382 ----
  	    order->safe_push (cl);
  	  }
        }
+ 
+   if (scheme == LTO_LOCALITY_CPP_TEMPLATE)
+     {
+       order_templ_hashes ();
+       order->qsort (static_profile_templ_cmp);
+       return true;
+     }
+ 
    order->qsort (static_profile_cmp);
    return true;
  }
*************** locality_determine_static_order (auto_ve
*** 1005,1010 ****
--- 1392,1398 ----
  static void
  locality_partition_and_clone (int max_locality_partition_size,
  			      lto_locality_cloning_model cloning_model,
+ 			      lto_locality_heuristics scheme,
  			      int freq_denominator, int size)
  {
    locality_partition partition;
*************** locality_partition_and_clone (int max_lo
*** 1025,1031 ****
    if (n && n->count.ipa_p ())
      order_p = locality_determine_ipa_order (&order);
    else
!     order_p = locality_determine_static_order (&order);
    if (!order_p)
      {
        if (dump_file)
--- 1413,1419 ----
    if (n && n->count.ipa_p ())
      order_p = locality_determine_ipa_order (&order);
    else
!     order_p = locality_determine_static_order (&order, scheme);
    if (!order_p)
      {
        if (dump_file)
*************** locality_partition_and_clone (int max_lo
*** 1057,1073 ****
        if (dump_file)
  	fprintf (dump_file, "Ordered Node: %s\n", node->dump_asm_name ());
  
!       for (cgraph_edge *edge = node->callees; edge; edge = edge->next_callee)
! 	{
! 	  /* Recursively partition the callchain of edge->callee.  */
! 	  partition_callchain (edge, partition, true, cloning_model, real_freq,
! 			       size, cl_num);
! 	}
      }
  
    for (unsigned i = 0; i < order.length (); i++)
      delete order[i];
    order = vNULL;
  }
  
  /* Entry point to locality-clone pass.  */
--- 1445,1459 ----
        if (dump_file)
  	fprintf (dump_file, "Ordered Node: %s\n", node->dump_asm_name ());
  
!       partition_callchain (node, partition, cloning_model, real_freq, size,
! 			   cl_num, npartitions, partition_size, scheme);
      }
  
    for (unsigned i = 0; i < order.length (); i++)
      delete order[i];
    order = vNULL;
+ 
+   loc_infos.release ();
  }
  
  /* Entry point to locality-clone pass.  */
*************** lc_execute (void)
*** 1078,1085 ****
--- 1464,1478 ----
    FOR_EACH_SYMBOL (node)
      node->aux = NULL;
  
+   node_to_ch_info = std::make_unique<hash_map<loc_map_hash, locality_info *>>
+     ();
+   node_to_clone = std::make_unique<hash_map<loc_map_hash, cgraph_node *>> ();
+   clone_to_node = std::make_unique<hash_map<loc_map_hash, cgraph_node *>> ();
+   templ_hash_map = std::make_unique<hash_freq_map_t> ();
+ 
    locality_partition_and_clone (param_max_locality_partition_size,
  				flag_lto_locality_cloning,
+ 				flag_lto_locality_heuristics,
  				param_lto_locality_frequency,
  				param_lto_locality_size);
  
diff -Nrcpad gcc-16-20260118/gcc/libsarifreplay.cc gcc-16-20260125/gcc/libsarifreplay.cc
*** gcc-16-20260118/gcc/libsarifreplay.cc	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/libsarifreplay.cc	Sun Jan 25 22:32:07 2026
*************** public:
*** 292,297 ****
--- 292,303 ----
    libgdiagnostics::message_buffer m_label;
  };
  
+ struct embedded_link
+ {
+   std::string text;
+   std::string destination;
+ };
+ 
  using id_map = std::map<std::string, const json::string *>;
  
  class sarif_replayer
*************** private:
*** 724,729 ****
--- 730,739 ----
      return sub;
    }
  
+   void
+   append_embeddded_link (libgdiagnostics::message_buffer &result,
+ 			 const embedded_link &link);
+ 
    /* The manager to replay the SARIF files to.  */
    libgdiagnostics::manager m_output_mgr;
  
*************** maybe_consume_placeholder (const char *&
*** 1499,1510 ****
    return false;
  }
  
- struct embedded_link
- {
-   std::string text;
-   std::string destination;
- };
- 
  /*  If ITER_SRC starts with an embedded link as per §3.11.6, advance ITER_SRC
      to immediately beyond the link, and return the link.
  
--- 1509,1514 ----
*************** maybe_consume_embedded_link (const char
*** 1578,1583 ****
--- 1582,1602 ----
    return std::make_unique<embedded_link> (std::move (result));
  }
  
+ void
+ sarif_replayer::append_embeddded_link (libgdiagnostics::message_buffer &result,
+ 				       const embedded_link &link)
+ {
+   /* We can't yet decode intra-sarif links, so simply use their text.  */
+   if (!strncmp (link.destination.c_str (), "sarif:/", strlen ("sarif:/")))
+     {
+       result += link.text.c_str ();
+       return;
+     }
+   result.begin_url (link.destination.c_str ());
+   result += link.text.c_str ();
+   result.end_url ();
+ }
+ 
  /* Lookup the plain text string within a result.message (§3.27.11),
     and substitute for any placeholders (§3.11.5) and handle any
     embedded links (§3.11.6).
*************** make_plain_text_within_result_message (c
*** 1662,1674 ****
  	    }
  	}
        else if (auto link = maybe_consume_embedded_link (iter_src))
! 	{
! 	  result.begin_url (link->destination.c_str ());
! 	  result += link->text.c_str ();
! 	  result.end_url ();
! 	  /* TODO: potentially could try to convert
! 	     intra-sarif links into event ids.  */
! 	}
        else
  	{
  	  result += ch;
--- 1681,1687 ----
  	    }
  	}
        else if (auto link = maybe_consume_embedded_link (iter_src))
! 	append_embeddded_link (result, *link);
        else
  	{
  	  result += ch;
diff -Nrcpad gcc-16-20260118/gcc/m2/ChangeLog gcc-16-20260125/gcc/m2/ChangeLog
*** gcc-16-20260118/gcc/m2/ChangeLog	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/m2/ChangeLog	Sun Jan 25 22:32:07 2026
***************
*** 1,3 ****
--- 1,33 ----
+ 2026-01-21  Gaius Mulley  <gaiusmod2@gmail.com>
+ 
+ 	PR modula2/123739
+ 	* lang.opt: All option descriptions are now capitalized.
+ 	(Wcase-enum): Warning tag added.
+ 	(Wpedantic-param-names): Ditto.
+ 	(Wpedantic-cast): Ditto.
+ 	(Wverbose-unbounded): Ditto.
+ 	(Wstyle): Ditto.
+ 	(Wuninit-variable-checking): Ditto.
+ 	(Wuninit-variable-checking=): Ditto.
+ 
+ 2026-01-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* lang.opt (Wpedantic-param-names, Wpedantic-cast, Wverbose-unbounded,
+ 	Wstyle, fauto-init, fbounds, fcase, fcpp, fcpp-end, fcpp-begin,
+ 	fdebug-builtins, fd, fdebug-function-line-numbers, fdef=,
+ 	fdump-system-exports, fextended-opaque, ffloatvalue,
+ 	fgen-module-list=, findex, fiso, flocation=, fm2-debug-trace=,
+ 	fm2-dump=, fm2-dump-decl=, fm2-dump-gimple=, fm2-dump-quad=,
+ 	fm2-dump-filter=, fm2-file-offset-bits=, fm2-g, fm2-lower-case,
+ 	fm2-pathname=, fm2-pathname-root=, fm2-pathname-rootI=, fm2-plugin,
+ 	fm2-prefix=, fm2-statistics, fm2-strict-type, fm2-strict-type-reason,
+ 	fm2-whole-program, fmod=, fnil, fpim, fpim2, fpim3, fpim4,
+ 	fpositive-mod-floor-div, fpthread, fq, frange, freturn,
+ 	fruntime-modules=, fscaffold-dynamic, fscaffold-c, fscaffold-c++,
+ 	fscaffold-main, fscaffold-static, fshared, fsoft-check-all, fsources,
+ 	fswig, fuse-list=, fwideset, fwholediv, fwholevalue, save-temps,
+ 	save-temps=): Add dot at the end of the description.
+ 
  2025-12-19  Jakub Jelinek  <jakub@redhat.com>
  
  	* gm2-compiler/FilterError.mod: Fix comment typo, refering
diff -Nrcpad gcc-16-20260118/gcc/m2/lang.opt gcc-16-20260125/gcc/m2/lang.opt
*** gcc-16-20260118/gcc/m2/lang.opt	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/m2/lang.opt	Sun Jan 25 22:32:07 2026
*************** Modula-2
*** 32,174 ****
  
  Wcase-enum
  Modula-2
! turns on case statement label compile time checking when using an expression of an enum type.
  
  Wpedantic-param-names
! Modula-2
! compiler checks to force definition module procedure parameter names with their implementation module counterpart
  
  Wpedantic-cast
! Modula-2
! compiler warns if a cast is being used on types of differing sizes
  
  Wverbose-unbounded
! Modula-2
! inform user which parameters will be passed by reference
  
  Wstyle
! Modula-2
! extra compile time semantic checking, typically tries to catch poor programming style
  
  Wuninit-variable-checking
! Modula-2
! turns on compile time analysis in the first basic block of a procedure detecting access to uninitialized data.
  
  Wuninit-variable-checking=
! Modula-2 Joined
! turns on compile time analysis to detect access to uninitialized variables, the checking can be specified by: known,cond,all.
  
  fauto-init
  Modula-2
! automatically initializes all pointers to NIL
  
  fbounds
  Modula-2
! turns on runtime subrange, array index and indirection via NIL pointer checking
  
  fcase
  Modula-2
! turns on runtime checking to check whether a CASE statement requires an ELSE clause when one was not specified
  
  fcpp
  Modula-2
! use cpp to preprocess the module
  
  fcpp-end
  Modula-2
! passed to the preprocessor if -fcpp is used (internal switch)
  
  fcpp-begin
  Modula-2
! passed to the preprocessor if -fcpp is used (internal switch)
  
  fdebug-builtins
  Modula-2
! call a real function, rather than the builtin equivalent
  
  fd
  Modula-2
! turn on internal debugging of the compiler (internal switch)
  
  fdebug-function-line-numbers
  Modula-2
! turn on tracing of procedure line numbers (internal switch)
  
  fdef=
  Modula-2 Joined
! recognize the specified suffix as a definition module filename
  
  fdump-system-exports
  Modula-2
! display all inbuilt system items
  
  fextended-opaque
  Modula-2
! allows opaque types to be implemented as any type (a GNU Modula-2 extension)
  
  ffloatvalue
  Modula-2
! turns on runtime checking to check whether a floating point number will exceed range
  
  fgen-module-list=
  Modula-2 Joined
! create a topologically sorted module list from all dependent modules used in the application
  
  findex
  Modula-2
! turns on all range checking for numerical values
  
  fiso
  Modula-2
! use ISO dialect of Modula-2
  
  flibs=
  Modula-2 Joined
! specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso.
  
  flocation=
  Modula-2 Joined
! set all location values to a specific value (internal switch)
  
  fm2-debug-trace=
  Modula-2 Joined
! turn on internal debug tracing for quad,token,line,all (internal switch)
  
  fm2-dump=
  Modula-2 Joined
! dump Modula-2 internal intemediate representation specified by: all,quad,decl,gimple
  
  fm2-dump-decl=
  Modula-2 Joined
! dump Modula-2 decls to the filename stem specified
  
  fm2-dump-gimple=
  Modula-2 Joined
! dump Modula-2 gimple to the filename stem specified
  
  fm2-dump-quad=
  Modula-2 Joined
! dump Modula-2 quads to the filename stem specified
  
  fm2-dump-filter=
  Modula-2 Joined
! filter the language dump using a comma separated list of procedures and modules
  
  fm2-file-offset-bits=
  Modula-2 Joined
! override the default 64 bit definition of SYSTEM.COFF_T with the argument specified
  
  fm2-g
  Modula-2
! generate extra nops to improve debugging, producing an instruction for every code related keyword
  
  fm2-lower-case
  Modula-2
! generate error messages which render keywords in lower case
  
  fm2-pathname=
  Modula-2 Joined
! specify the module mangled prefix name for all modules in the following include paths
  
  fm2-pathnameI
  Modula-2 Joined
--- 32,174 ----
  
  Wcase-enum
  Modula-2
! Case statement label compile time checking when using an expression of an enum type.
  
  Wpedantic-param-names
! Modula-2 Warning
! Check definition module procedure parameter names match their implementation module counterpart.
  
  Wpedantic-cast
! Modula-2 Warning
! Warn if a cast is being used on types of differing sizes.
  
  Wverbose-unbounded
! Modula-2 Warning
! Inform user which parameters will be passed by reference.
  
  Wstyle
! Modula-2 Warning
! Semantic checking to catch poor programming style.
  
  Wuninit-variable-checking
! Modula-2 Warning
! Compile time analysis in the first basic block of a procedure detecting access to uninitialized data.
  
  Wuninit-variable-checking=
! Modula-2 Joined Warning
! Compile time analysis to detect access to uninitialized variables, the checking can be specified by: known,cond,all.
  
  fauto-init
  Modula-2
! Automatically initializes all pointers to NIL.
  
  fbounds
  Modula-2
! Runtime subrange, array index and indirection via NIL pointer checking.
  
  fcase
  Modula-2
! Runtime checking to check whether a CASE statement requires an ELSE clause when one was not specified.
  
  fcpp
  Modula-2
! Preprocess the module using cpp.
  
  fcpp-end
  Modula-2
! Passed to the preprocessor if -fcpp is used (internal switch).
  
  fcpp-begin
  Modula-2
! Passed to the preprocessor if -fcpp is used (internal switch).
  
  fdebug-builtins
  Modula-2
! Call a real function, rather than the builtin equivalent.
  
  fd
  Modula-2
! Internal debugging of the compiler (internal switch).
  
  fdebug-function-line-numbers
  Modula-2
! Trace procedure line numbers (internal switch).
  
  fdef=
  Modula-2 Joined
! Recognize the specified suffix as a definition module filename.
  
  fdump-system-exports
  Modula-2
! Display all inbuilt system items.
  
  fextended-opaque
  Modula-2
! Allows opaque types to be implemented as any type (a GNU Modula-2 extension).
  
  ffloatvalue
  Modula-2
! Runtime checking to check whether a floating point number will exceed range.
  
  fgen-module-list=
  Modula-2 Joined
! Create a topologically sorted module list from all dependent modules used in the application.
  
  findex
  Modula-2
! Range checking for numerical values.
  
  fiso
  Modula-2
! ISO dialect of Modula-2.
  
  flibs=
  Modula-2 Joined
! Specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso.
  
  flocation=
  Modula-2 Joined
! Set all location values to a specific value (internal switch).
  
  fm2-debug-trace=
  Modula-2 Joined
! Internal debug tracing for quad,token,line,all (internal switch).
  
  fm2-dump=
  Modula-2 Joined
! Dump Modula-2 internal intemediate representation specified by: all,quad,decl,gimple.
  
  fm2-dump-decl=
  Modula-2 Joined
! Dump Modula-2 decls to the filename stem specified.
  
  fm2-dump-gimple=
  Modula-2 Joined
! Dump Modula-2 gimple to the filename stem specified.
  
  fm2-dump-quad=
  Modula-2 Joined
! Dump Modula-2 quads to the filename stem specified.
  
  fm2-dump-filter=
  Modula-2 Joined
! Filter the language dump using a comma separated list of procedures and modules.
  
  fm2-file-offset-bits=
  Modula-2 Joined
! Override the default 64 bit definition of SYSTEM.COFF_T with the argument specified.
  
  fm2-g
  Modula-2
! Generate extra nops to improve debugging, producing an instruction for every code related keyword.
  
  fm2-lower-case
  Modula-2
! Generate error messages which render keywords in lower case.
  
  fm2-pathname=
  Modula-2 Joined
! Specify the module mangled prefix name for all modules in the following include paths.
  
  fm2-pathnameI
  Modula-2 Joined
*************** Modula-2 Joined
*** 176,182 ****
  
  fm2-pathname-root=
  Modula-2 Joined
! add include paths for all the library names in -flibs= to this directory root
  
  fm2-pathname-rootI=
  Modula-2 Joined
--- 176,182 ----
  
  fm2-pathname-root=
  Modula-2 Joined
! Add include paths for all the library names in -flibs= to this directory root.
  
  fm2-pathname-rootI=
  Modula-2 Joined
*************** Modula-2 Joined
*** 184,210 ****
  
  fm2-plugin
  Modula-2
! insert plugin to identify runtime errors at compiletime
  
  fm2-prefix=
  Modula-2 Joined
! specify the module mangled prefix name
  
  fm2-statistics
  Modula-2
! display statistics about the amount of source lines compiled and symbols used
  
  fm2-strict-type
  Modula-2
! experimental flag to turn on the new strict type checker
  
  fm2-strict-type-reason
  Modula-2
! provides more detail why the types are incompatible
  
  fm2-whole-program
  Modula-2
! compile all implementation modules and program module at once
  
  fmem-report
  Modula-2
--- 184,210 ----
  
  fm2-plugin
  Modula-2
! Insert plugin to identify runtime errors at compiletime.
  
  fm2-prefix=
  Modula-2 Joined
! Specify the module mangled prefix name.
  
  fm2-statistics
  Modula-2
! Display statistics about the amount of source lines compiled and symbols used.
  
  fm2-strict-type
  Modula-2
! Experimental flag to turn on the new strict type checker.
  
  fm2-strict-type-reason
  Modula-2
! Provides more detail why the types are incompatible.
  
  fm2-whole-program
  Modula-2
! Compile all implementation modules and program module at once.
  
  fmem-report
  Modula-2
*************** Modula-2
*** 212,298 ****
  
  fmod=
  Modula-2 Joined
! recognize the specified suffix as implementation and module filenames
  
  fnil
  Modula-2
! turns on runtime checking to detect accessing data through a NIL value pointer
  
  fpim
  Modula-2
! use PIM [234] dialect of Modula-2
  
  fpim2
  Modula-2
! use PIM 2 dialect of Modula-2
  
  fpim3
  Modula-2
! use PIM 3 dialect of Modula-2
  
  fpim4
  Modula-2
! use PIM 4 dialect of Modula-2
  
  fpositive-mod-floor-div
  Modula-2
! force positive result from MOD and DIV result floor
  
  fpthread
  Modula-2
! link against the pthread library (default on)
  
  fq
  Modula-2
! internal compiler debugging information, dump the list of quadruples
  
  frange
  Modula-2
! turns on all range checking for numerical values
  
  freturn
  Modula-2
! turns on runtime checking for functions which finish without executing a RETURN statement
  
  fruntime-modules=
  Modula-2 Joined
! specify the list of runtime modules and their initialization order
  
  fscaffold-dynamic
  Modula-2
! the modules initialization order is dynamically determined by M2RTS and application dependencies
  
  fscaffold-c
  Modula-2
! generate a C source scaffold for the current module being compiled
  
  fscaffold-c++
  Modula-2
! generate a C++ source scaffold for the current module being compiled
  
  fscaffold-main
  Modula-2
! generate the main function
  
  fscaffold-static
  Modula-2
! generate static scaffold initialization and finalization for every module inside main
  
  fshared
  Modula-2
! generate a shared library from the module
  
  fsoft-check-all
  Modula-2
! turns on all software runtime checking (an abbreviation for -fnil -frange -findex -fwholediv -fcase -freturn -fwholevalue -ffloatvalue)
  
  fsources
  Modula-2
! display the location of module source files as they are compiled
  
  fswig
  Modula-2
! create a swig interface file for the module
  
  ftime-report
  Modula-2
--- 212,298 ----
  
  fmod=
  Modula-2 Joined
! Recognize the specified suffix as implementation and module filenames.
  
  fnil
  Modula-2
! Runtime checking to detect accessing data through a NIL value pointer.
  
  fpim
  Modula-2
! PIM [234] dialect of Modula-2.
  
  fpim2
  Modula-2
! PIM 2 dialect of Modula-2.
  
  fpim3
  Modula-2
! PIM 3 dialect of Modula-2.
  
  fpim4
  Modula-2
! PIM 4 dialect of Modula-2.
  
  fpositive-mod-floor-div
  Modula-2
! Force positive result from MOD and DIV result floor.
  
  fpthread
  Modula-2
! Link against the pthread library (default on).
  
  fq
  Modula-2
! Internal compiler debugging information, dump the list of quadruples.
  
  frange
  Modula-2
! Runtime range checking for numerical values.
  
  freturn
  Modula-2
! Runtime checking for functions which finish without executing a RETURN statement.
  
  fruntime-modules=
  Modula-2 Joined
! Specify the list of runtime modules and their initialization order.
  
  fscaffold-dynamic
  Modula-2
! Modules are initialized dynamically, determined by M2RTS and application dependencies.
  
  fscaffold-c
  Modula-2
! Generate a C source scaffold for the current module being compiled.
  
  fscaffold-c++
  Modula-2
! Generate a C++ source scaffold for the current module being compiled.
  
  fscaffold-main
  Modula-2
! Generate the main function.
  
  fscaffold-static
  Modula-2
! Generate static scaffold initialization and finalization for every module inside main.
  
  fshared
  Modula-2
! Generate a shared library from the module.
  
  fsoft-check-all
  Modula-2
! All software runtime checking (an abbreviation for -fnil -frange -findex -fwholediv -fcase -freturn -fwholevalue -ffloatvalue).
  
  fsources
  Modula-2
! Display the location of module source files as they are compiled.
  
  fswig
  Modula-2
! Create a swig interface file for the module.
  
  ftime-report
  Modula-2
*************** Modula-2
*** 300,310 ****
  
  funbounded-by-reference
  Modula-2
! optimize non var unbounded parameters by passing it by reference, providing it is not written to within the callee procedure.
  
  fuse-list=
  Modula-2 Joined
! orders the initialization/finalizations for scaffold-static or force linking of modules if scaffold-dynamic
  
  fversion
  Modula-2
--- 300,310 ----
  
  funbounded-by-reference
  Modula-2
! Optimize non var unbounded parameters by passing it by reference, providing it is not written to within the callee procedure.
  
  fuse-list=
  Modula-2 Joined
! Order the initialization/finalizations for scaffold-static or force linking of modules if scaffold-dynamic.
  
  fversion
  Modula-2
*************** Modula-2
*** 312,326 ****
  
  fwideset
  Modula-2
! link against the module M2WIDESET to perform the wideset operator, the negative version of this option will generate a warning if this module is required
  
  fwholediv
  Modula-2
! turns on all division and modulus by zero checking for ordinal values
  
  fwholevalue
  Modula-2
! turns on runtime checking to check whether a whole number will exceed range
  
  static-libgm2
  Driver
--- 312,326 ----
  
  fwideset
  Modula-2
! Link against the module M2WIDESET to perform the wideset operator, the negative version of this option will generate a warning if this module is required.
  
  fwholediv
  Modula-2
! Runtime checking of all division and modulus by zero checking for ordinal values.
  
  fwholevalue
  Modula-2
! Runtime checking for whole numbers.
  
  static-libgm2
  Driver
*************** Modula-2 Alias(save-temps)
*** 469,479 ****
  
  save-temps
  Modula-2
! save temporary preprocessed files
  
  save-temps=
  Modula-2 Joined
! save temporary preprocessed files
  
  traditional-cpp
  Modula-2
--- 469,479 ----
  
  save-temps
  Modula-2
! save temporary preprocessed files.
  
  save-temps=
  Modula-2 Joined
! save temporary preprocessed files.
  
  traditional-cpp
  Modula-2
diff -Nrcpad gcc-16-20260118/gcc/m2/lang.opt.urls gcc-16-20260125/gcc/m2/lang.opt.urls
*** gcc-16-20260118/gcc/m2/lang.opt.urls	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/m2/lang.opt.urls	Sun Jan 25 22:32:07 2026
*************** fmem-report
*** 4,10 ****
  UrlSuffix(gcc/Developer-Options.html#index-fmem-report)
  
  ftime-report
! UrlSuffix(gcc/Developer-Options.html#index-ftime-report)
  
  fversion
  LangUrlSuffix_D(gdc/Runtime-Options.html#index-fversion)
--- 4,10 ----
  UrlSuffix(gcc/Developer-Options.html#index-fmem-report)
  
  ftime-report
! UrlSuffix(gcc/Developer-Options.html#index-fno-time-report)
  
  fversion
  LangUrlSuffix_D(gdc/Runtime-Options.html#index-fversion)
*************** fexceptions
*** 90,96 ****
  UrlSuffix(gcc/Code-Gen-Options.html#index-fexceptions)
  
  fpreprocessed
! UrlSuffix(gcc/Preprocessor-Options.html#index-fpreprocessed)
  
  fworking-directory
  UrlSuffix(gcc/Preprocessor-Options.html#index-fno-working-directory) LangUrlSuffix_Fortran(gfortran/Preprocessing-Options.html#index-fworking-directory)
--- 90,96 ----
  UrlSuffix(gcc/Code-Gen-Options.html#index-fexceptions)
  
  fpreprocessed
! UrlSuffix(gcc/Preprocessor-Options.html#index-fno-preprocessed)
  
  fworking-directory
  UrlSuffix(gcc/Preprocessor-Options.html#index-fno-working-directory) LangUrlSuffix_Fortran(gfortran/Preprocessing-Options.html#index-fworking-directory)
diff -Nrcpad gcc-16-20260118/gcc/match.pd gcc-16-20260125/gcc/match.pd
*** gcc-16-20260118/gcc/match.pd	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/match.pd	Sun Jan 25 22:32:07 2026
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 6242,6255 ****
  (for op (negate bit_not abs absu)
   (simplify
    (op (vec_cond:s @0 @1 @2))
!   (vec_cond @0 (op! @1) (op! @2))))
  
  /* Sink unary conversions to branches, but only if we do fold both
     and the target's truth type is the same as we already have.  */
  (simplify
   (convert (vec_cond:s @0 @1 @2))
   (if (VECTOR_TYPE_P (type)
!       && types_match (TREE_TYPE (@0), truth_type_for (type)))
    (vec_cond @0 (convert! @1) (convert! @2))))
  
  /* Likewise for view_convert of nop_conversions. */
--- 6242,6257 ----
  (for op (negate bit_not abs absu)
   (simplify
    (op (vec_cond:s @0 @1 @2))
!   (vec_cond @0 (op!:type @1) (op!:type @2))))
  
  /* Sink unary conversions to branches, but only if we do fold both
     and the target's truth type is the same as we already have.  */
  (simplify
   (convert (vec_cond:s @0 @1 @2))
   (if (VECTOR_TYPE_P (type)
!       && types_match (TREE_TYPE (@0), truth_type_for (type))
!       && (expand_vec_cond_expr_p (type, TREE_TYPE (@0))
! 	  || !expand_vec_cond_expr_p (TREE_TYPE (@1), TREE_TYPE (@0))))
    (vec_cond @0 (convert! @1) (convert! @2))))
  
  /* Likewise for view_convert of nop_conversions. */
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 6258,6264 ****
   (if (VECTOR_TYPE_P (type) && VECTOR_TYPE_P (TREE_TYPE (@1))
        && known_eq (TYPE_VECTOR_SUBPARTS (type),
  		   TYPE_VECTOR_SUBPARTS (TREE_TYPE (@1)))
!       && tree_nop_conversion_p (TREE_TYPE (type), TREE_TYPE (TREE_TYPE (@1))))
    (vec_cond @0 (view_convert! @1) (view_convert! @2))))
  
  /* Sink binary operation to branches, but only if we can fold it.  */
--- 6260,6268 ----
   (if (VECTOR_TYPE_P (type) && VECTOR_TYPE_P (TREE_TYPE (@1))
        && known_eq (TYPE_VECTOR_SUBPARTS (type),
  		   TYPE_VECTOR_SUBPARTS (TREE_TYPE (@1)))
!       && tree_nop_conversion_p (TREE_TYPE (type), TREE_TYPE (TREE_TYPE (@1)))
!       && (expand_vec_cond_expr_p (type, TREE_TYPE (@0))
! 	  || !expand_vec_cond_expr_p (TREE_TYPE (@1), TREE_TYPE (@0))))
    (vec_cond @0 (view_convert! @1) (view_convert! @2))))
  
  /* Sink binary operation to branches, but only if we can fold it.  */
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 6277,6283 ****
  		  missing the legacy vcond{,u,eq} cases.  Do this only when
  		  lowering will be able to fixup..  */
  	       && !expand_vec_cond_expr_p (TREE_TYPE (@1), TREE_TYPE (@0)))))
!    (vec_cond @0 (op! @1 @3) (op! @2 @4))))
  
  /* (@0 ? @2 : @3) lop (@1 ? @2 : @3)  -->  (@0 lop @1) ? @2 : @3.  */
  (for lop (bit_and bit_ior bit_xor)
--- 6281,6287 ----
  		  missing the legacy vcond{,u,eq} cases.  Do this only when
  		  lowering will be able to fixup..  */
  	       && !expand_vec_cond_expr_p (TREE_TYPE (@1), TREE_TYPE (@0)))))
!    (vec_cond @0 (op!:type @1 @3) (op!:type @2 @4))))
  
  /* (@0 ? @2 : @3) lop (@1 ? @2 : @3)  -->  (@0 lop @1) ? @2 : @3.  */
  (for lop (bit_and bit_ior bit_xor)
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 6297,6303 ****
  	   || expand_vec_cond_expr_p (type, TREE_TYPE (@0))
  	   || (optimize_vectors_before_lowering_p ()
  	       && !expand_vec_cond_expr_p (TREE_TYPE (@1), TREE_TYPE (@0)))))
!    (vec_cond @0 (op! @1 @3) (op! @2 @3))))
   (simplify
    (op @3 (vec_cond:s @0 @1 @2))
    (if (VECTOR_TYPE_P (type)
--- 6301,6307 ----
  	   || expand_vec_cond_expr_p (type, TREE_TYPE (@0))
  	   || (optimize_vectors_before_lowering_p ()
  	       && !expand_vec_cond_expr_p (TREE_TYPE (@1), TREE_TYPE (@0)))))
!    (vec_cond @0 (op!:type @1 @3) (op!:type @2 @3))))
   (simplify
    (op @3 (vec_cond:s @0 @1 @2))
    (if (VECTOR_TYPE_P (type)
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 6306,6312 ****
  	   || expand_vec_cond_expr_p (type, TREE_TYPE (@0))
  	   || (optimize_vectors_before_lowering_p ()
  	       && !expand_vec_cond_expr_p (TREE_TYPE (@1), TREE_TYPE (@0)))))
!    (vec_cond @0 (op! @3 @1) (op! @3 @2)))))
  
  #if GIMPLE
  (match (nop_atomic_bit_test_and_p @0 @1 @4)
--- 6310,6316 ----
  	   || expand_vec_cond_expr_p (type, TREE_TYPE (@0))
  	   || (optimize_vectors_before_lowering_p ()
  	       && !expand_vec_cond_expr_p (TREE_TYPE (@1), TREE_TYPE (@0)))))
!    (vec_cond @0 (op!:type @3 @1) (op!:type @3 @2)))))
  
  #if GIMPLE
  (match (nop_atomic_bit_test_and_p @0 @1 @4)
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 8634,8640 ****
       pessimizes code and causes gimplification issues when applied late.  */
    (if (!FLOAT_TYPE_P (TREE_TYPE (@3))
         || !operation_could_trap_p (cmp, true, false, @3))
!    (cond @0 (cmp! @1 @3) (cmp! @2 @3)))))
  
  /* Similar to above:
     (c ? a : b) op d  ->  c ? (a op d) : (b op d)
--- 8638,8644 ----
       pessimizes code and causes gimplification issues when applied late.  */
    (if (!FLOAT_TYPE_P (TREE_TYPE (@3))
         || !operation_could_trap_p (cmp, true, false, @3))
!    (cond @0 (cmp!:type @1 @3) (cmp!:type @2 @3)))))
  
  /* Similar to above:
     (c ? a : b) op d  ->  c ? (a op d) : (b op d)
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 8645,8657 ****
  	 lrotate rrotate mult_highpart)
   (simplify
    (op (cond @0 @1 @2) @3)
!   (cond @0 (op! @1 @3) (op! @2 @3)))
  
   /* Support the variant
      d op (c ? a : b)  ->  c ? (d op a) : (d op b)  */
   (simplify
    (op @3 (cond @0 @1 @2))
!   (cond @0 (op! @3 @1) (op! @3 @2))))
  #endif
  
  /* Transform comparisons of the form (X & Y) CMP 0 to X CMP2 Z
--- 8649,8661 ----
  	 lrotate rrotate mult_highpart)
   (simplify
    (op (cond @0 @1 @2) @3)
!   (cond @0 (op!:type @1 @3) (op!:type @2 @3)))
  
   /* Support the variant
      d op (c ? a : b)  ->  c ? (d op a) : (d op b)  */
   (simplify
    (op @3 (cond @0 @1 @2))
!   (cond @0 (op!:type @3 @1) (op!:type @3 @2))))
  #endif
  
  /* Transform comparisons of the form (X & Y) CMP 0 to X CMP2 Z
*************** and,
*** 12226,12228 ****
--- 12230,12237 ----
          && TYPE_UNSIGNED (type)
          && @0 == @3)
      (bit_xor (rrotate @0 @4) @2)))
+ 
+ /* Optimize extraction from a uniform vector to a representative element as
+    long as the requested element is within range.  */
+ (simplify (IFN_VEC_EXTRACT (vec_duplicate @0) INTEGER_CST@1)
+  @0)
diff -Nrcpad gcc-16-20260118/gcc/params.opt gcc-16-20260125/gcc/params.opt
*** gcc-16-20260118/gcc/params.opt	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/params.opt	Sun Jan 25 22:32:07 2026
*************** Size cut-off for callee including inline
*** 520,525 ****
--- 520,535 ----
  Common Joined UInteger Var(param_max_locality_partition_size) Init(1000000) Param
  Maximal size of a locality partition for LTO (in estimated instructions). Value of 0 results in default value being used.
  
+ Enum
+ Name(lto_locality_heuristics) Type(enum lto_locality_heuristics) UnknownError(unknown LTO locality partitioning heuristics %qs)
+ 
+ EnumValue
+ Enum(lto_locality_heuristics) String(cpp_template) Value(LTO_LOCALITY_CPP_TEMPLATE)
+ 
+ -param=lto-partition-locality-heuristics=
+ Common Joined RejectNegative Enum(lto_locality_heuristics) Var(flag_lto_locality_heuristics) Init(LTO_LOCALITY_DEFAULT_HEURISTIC) Optimization
+ Choose static heuristics for locality layout. Option cpp_template groups by C++ template instantiation type.
+ 
  -param=max-average-unrolled-insns=
  Common Joined UInteger Var(param_max_average_unrolled_insns) Init(80) Param Optimization
  The maximum number of instructions to consider to unroll in a loop on average.
diff -Nrcpad gcc-16-20260118/gcc/po/ChangeLog gcc-16-20260125/gcc/po/ChangeLog
*** gcc-16-20260118/gcc/po/ChangeLog	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/po/ChangeLog	Sun Jan 25 22:32:07 2026
***************
*** 1,3 ****
--- 1,7 ----
+ 2026-01-19  Joseph Myers  <josmyers@redhat.com>
+ 
+ 	* es.po: Update.
+ 
  2025-11-10  Joseph Myers  <josmyers@redhat.com>
  
  	* es.po: Update.
diff -Nrcpad gcc-16-20260118/gcc/po/es.po gcc-16-20260125/gcc/po/es.po
*** gcc-16-20260118/gcc/po/es.po	Sun Jan 18 22:32:07 2026
--- gcc-16-20260125/gcc/po/es.po	Sun Jan 25 22:32:08 2026
*************** msgstr ""
*** 45,51 ****
  "Project-Id-Version: gcc 15.2.0\n"
  "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
  "POT-Creation-Date: 2025-08-01 17:58+0000\n"
! "PO-Revision-Date: 2025-11-08 22:02+0100\n"
  "Last-Translator: Antonio Ceballos Roa <aceballos@gmail.com>\n"
  "Language-Team: Spanish <es@tp.org.es>\n"
  "Language: es\n"
--- 45,51 ----
  "Project-Id-Version: gcc 15.2.0\n"
  "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
  "POT-Creation-Date: 2025-08-01 17:58+0000\n"
! "PO-Revision-Date: 2026-01-17 19:30+0100\n"
  "Last-Translator: Antonio Ceballos Roa <aceballos@gmail.com>\n"
  "Language-Team: Spanish <es@tp.org.es>\n"
  "Language: es\n"
*************** msgid "Param to control which writeback
*** 6691,6700 ****
  msgstr "Parámetro para controlar qué oportunidades de retroescritura intentamos manejar en los pasos de fusión load/store.  Un valor de cero deshabilita el manejo de la retroescritura. Uno significa que intentamos formar pares implicando uno o más accesos de retroescritura individuales existentes cuando sea posible.  Un valor de dos significa que también intentamos oportunísticamente formar oportunidades de retroescritura incorporando actualizaciones destructivas residuales del registro base utilizado por un par."
  
  #: config/aarch64/aarch64.opt:437
! #, fuzzy, no-c-format
! #| msgid "Warn about underflow of numerical constant expressions."
  msgid "Warn about usage of experimental Function Multi Versioning."
! msgstr "Avisa sobre desbordamiento por debajo de expresiones numéricas constantes."
  
  #: config/linux.opt:24
  #, no-c-format
--- 6691,6699 ----
  msgstr "Parámetro para controlar qué oportunidades de retroescritura intentamos manejar en los pasos de fusión load/store.  Un valor de cero deshabilita el manejo de la retroescritura. Uno significa que intentamos formar pares implicando uno o más accesos de retroescritura individuales existentes cuando sea posible.  Un valor de dos significa que también intentamos oportunísticamente formar oportunidades de retroescritura incorporando actualizaciones destructivas residuales del registro base utilizado por un par."
  
  #: config/aarch64/aarch64.opt:437
! #, no-c-format
  msgid "Warn about usage of experimental Function Multi Versioning."
! msgstr "Avisa sobre el uso del multiversionado de funciones experimental."
  
  #: config/linux.opt:24
  #, no-c-format
*************** msgid "Don't use any of r32..r63."
*** 6983,6992 ****
  msgstr "No usa ninguno de r32..r63."
  
  #: config/epiphany/epiphany.opt:28
! #, fuzzy, no-c-format
! #| msgid "preferentially allocate registers that allow short instruction generation."
  msgid "Preferentially allocate registers that allow short instruction generation."
! msgstr "aloja de preferencia registros que permitan la generación de instrucciones short."
  
  #: config/epiphany/epiphany.opt:32
  #, no-c-format
--- 6982,6990 ----
  msgstr "No usa ninguno de r32..r63."
  
  #: config/epiphany/epiphany.opt:28
! #, no-c-format
  msgid "Preferentially allocate registers that allow short instruction generation."
! msgstr "Reserva preferente de registros que permitan la generación de instrucciones short."
  
  #: config/epiphany/epiphany.opt:32
  #, no-c-format
*************** msgid "Set branch cost."
*** 6994,7009 ****
  msgstr "Establece el costo de ramificación."
  
  #: config/epiphany/epiphany.opt:36
! #, fuzzy, no-c-format
! #| msgid "enable conditional move instruction usage."
  msgid "Enable conditional move instruction usage."
! msgstr "activa el uso de la instrucción move condicional."
  
  #: config/epiphany/epiphany.opt:40
! #, fuzzy, no-c-format
! #| msgid "set number of nops to emit before each insn pattern."
  msgid "Set number of nops to emit before each insn pattern."
! msgstr "establece el número de nops a emitir antes de cada patrón insn."
  
  #: config/epiphany/epiphany.opt:52
  #, no-c-format
--- 6992,7005 ----
  msgstr "Establece el costo de ramificación."
  
  #: config/epiphany/epiphany.opt:36
! #, no-c-format
  msgid "Enable conditional move instruction usage."
! msgstr "Activa el uso de la instrucción move condicional."
  
  #: config/epiphany/epiphany.opt:40
! #, no-c-format
  msgid "Set number of nops to emit before each insn pattern."
! msgstr "Establece el número de nops a emitir antes de cada patrón insn."
  
  #: config/epiphany/epiphany.opt:52
  #, no-c-format
*************** msgid "Set register to hold -1."
*** 7076,7115 ****
  msgstr "Establece el registro para conservar -1."
  
  #: config/ft32/ft32.opt:23
! #, fuzzy, no-c-format
! #| msgid "target the software simulator."
  msgid "Target the software simulator."
! msgstr "destina al simulador software."
  
  #: config/ft32/ft32.opt:27
! #, fuzzy, no-c-format
! #| msgid "Does nothing. Preserved for backward compatibility."
  msgid "Ignored, but preserved for backward compatibility."
! msgstr "No hace nada. Preservado por compatibilidad hacia atrás."
  
  #: config/ft32/ft32.opt:31
! #, fuzzy, no-c-format
! #| msgid "Avoid use of the DIV and MOD instructions"
  msgid "Avoid use of the DIV and MOD instructions."
! msgstr "Evita el uso de las instrucciones DIV y MOD"
  
  #: config/ft32/ft32.opt:35
! #, fuzzy, no-c-format
! #| msgid "target the FT32B architecture"
  msgid "Target the FT32B architecture."
! msgstr "destina a la arquitectura FT32B"
  
  #: config/ft32/ft32.opt:39
! #, fuzzy, no-c-format
! #| msgid "enable FT32B code compression"
  msgid "Enable FT32B code compression."
  msgstr "Activa código de compresión FT32B."
  
  #: config/ft32/ft32.opt:43
! #, fuzzy, no-c-format
! #| msgid "Avoid placing any readable data in program memory"
  msgid "Avoid placing any readable data in program memory."
! msgstr "Evita colocar cualquier dato legible en memoria de programa"
  
  #: config/h8300/h8300.opt:23
  #, no-c-format
--- 7072,7105 ----
  msgstr "Establece el registro para conservar -1."
  
  #: config/ft32/ft32.opt:23
! #, no-c-format
  msgid "Target the software simulator."
! msgstr "Destina al simulador software."
  
  #: config/ft32/ft32.opt:27
! #, no-c-format
  msgid "Ignored, but preserved for backward compatibility."
! msgstr "Descartado, pero conservado por compatibilidad hacia atrás."
  
  #: config/ft32/ft32.opt:31
! #, no-c-format
  msgid "Avoid use of the DIV and MOD instructions."
! msgstr "Evita el uso de las instrucciones DIV y MOD."
  
  #: config/ft32/ft32.opt:35
! #, no-c-format
  msgid "Target the FT32B architecture."
! msgstr "Destina a la arquitectura FT32B"
  
  #: config/ft32/ft32.opt:39
! #, no-c-format
  msgid "Enable FT32B code compression."
  msgstr "Activa código de compresión FT32B."
  
  #: config/ft32/ft32.opt:43
! #, no-c-format
  msgid "Avoid placing any readable data in program memory."
! msgstr "Evita colocar cualquier dato legible en memoria de programa."
  
  #: config/h8300/h8300.opt:23
  #, no-c-format
*************** msgstr "No empuja los registros extendid
*** 7174,7203 ****
  #: config/pru/pru.opt:31
  #, no-c-format
  msgid "-mmcu=MCU\tSelect the target System-On-Chip variant that embeds this PRU."
! msgstr ""
  
  #: config/pru/pru.opt:35
  #, no-c-format
  msgid "Make GCC pass the --no-relax command-line option to the linker instead of the --relax option."
! msgstr ""
  
  #: config/pru/pru.opt:40
! #, fuzzy, no-c-format
! #| msgid "Allow gcc to generate LIW instructions."
  msgid "Allow (or do not allow) gcc to use the LOOP instruction."
! msgstr "Permite a gcc generar instrucciones LIW."
  
  #: config/pru/pru.opt:44
! #, fuzzy, no-c-format
! #| msgid "Set the target VM version."
  msgid "Select target ABI variant."
! msgstr "Establece la versión de la MV destino."
  
  #: config/pru/pru.opt:48
! #, fuzzy, no-c-format
! #| msgid "Known ABIs (for use with the -mabi= option):"
  msgid "ABI variant code generation (for use with -mabi= option):"
! msgstr "ABIs conocidas (para usar con la opción -mabi=):"
  
  #: config/pdp11/pdp11.opt:23
  #, no-c-format
--- 7164,7190 ----
  #: config/pru/pru.opt:31
  #, no-c-format
  msgid "-mmcu=MCU\tSelect the target System-On-Chip variant that embeds this PRU."
! msgstr "-mmcu=MCU\tSelecciona el objetivo de la variante System-On-Chip incluida en esta PRU."
  
  #: config/pru/pru.opt:35
  #, no-c-format
  msgid "Make GCC pass the --no-relax command-line option to the linker instead of the --relax option."
! msgstr "Hace que GCC pase la opción de línea de órdenes --no-relax al enlazador en lugar de la opción --relax."
  
  #: config/pru/pru.opt:40
! #, no-c-format
  msgid "Allow (or do not allow) gcc to use the LOOP instruction."
! msgstr "Permite (o no permite) a gcc utilizar la instrucción LOOP."
  
  #: config/pru/pru.opt:44
! #, no-c-format
  msgid "Select target ABI variant."
! msgstr "Selecciona la variante ABI del objetivo."
  
  #: config/pru/pru.opt:48
! #, no-c-format
  msgid "ABI variant code generation (for use with -mabi= option):"
! msgstr "Generación de código de la variante ABI (para usar con la opción -mabi=):"
  
  #: config/pdp11/pdp11.opt:23
  #, no-c-format
*************** msgid "Use the DEC assembler syntax."
*** 7225,7234 ****
  msgstr "Usa la sintaxis de ensamblador DEC."
  
  #: config/pdp11/pdp11.opt:43
! #, fuzzy, no-c-format
! #| msgid "Use the DEC assembler syntax."
  msgid "Use the GNU assembler syntax."
! msgstr "Usa la sintaxis de ensamblador DEC."
  
  #: config/pdp11/pdp11.opt:47 config/rs6000/rs6000.opt:183
  #: config/frv/frv.opt:158
--- 7212,7220 ----
  msgstr "Usa la sintaxis de ensamblador DEC."
  
  #: config/pdp11/pdp11.opt:43
! #, no-c-format
  msgid "Use the GNU assembler syntax."
! msgstr "Usa la sintaxis de ensamblador de GNU."
  
  #: config/pdp11/pdp11.opt:47 config/rs6000/rs6000.opt:183
  #: config/frv/frv.opt:158
*************** msgid "Use UNIX assembler syntax."
*** 7262,7271 ****
  msgstr "Usa sintaxis de ensamblador UNIX."
  
  #: config/pdp11/pdp11.opt:71
! #, fuzzy, no-c-format
! #| msgid "Use integrated register allocator."
  msgid "Use LRA register allocator."
! msgstr "Utiliza el alojador de registros integrado."
  
  #: config/xtensa/xtensa.opt:26
  #, no-c-format
--- 7248,7256 ----
  msgstr "Usa sintaxis de ensamblador UNIX."
  
  #: config/pdp11/pdp11.opt:71
! #, no-c-format
  msgid "Use LRA register allocator."
! msgstr "Utiliza el alojador de registros LRA."
  
  #: config/xtensa/xtensa.opt:26
  #, no-c-format
*************** msgstr "Usa las instrucciones CALLXn ind
*** 7285,7291 ****
  #: config/xtensa/xtensa.opt:38
  #, no-c-format
  msgid "Set extra memory access cost for L32R instruction, in clock-cycle units."
! msgstr ""
  
  #: config/xtensa/xtensa.opt:46
  #, no-c-format
--- 7270,7276 ----
  #: config/xtensa/xtensa.opt:38
  #, no-c-format
  msgid "Set extra memory access cost for L32R instruction, in clock-cycle units."
! msgstr "Establece un coste extra de acceso a memoria a la instrucción L32R, en unidades de ciclos de reloj."
  
  #: config/xtensa/xtensa.opt:46
  #, no-c-format
*************** msgid "-mno-serialize-volatile\tDo not s
*** 7308,7323 ****
  msgstr "-mno-serialize-volatile\tNo serializa las referencias a memoria volátil con instrucciones MEMW."
  
  #: config/xtensa/xtensa.opt:65
! #, fuzzy, no-c-format
! #| msgid "Use EABI."
  msgid "Use call0 ABI."
! msgstr "Usa EABI."
  
  #: config/xtensa/xtensa.opt:69
! #, fuzzy, no-c-format
! #| msgid "Use fp registers."
  msgid "Use windowed registers ABI."
! msgstr "Usa registros fp."
  
  #: config/i386/mingw-w64.opt:23
  #, no-c-format
--- 7293,7306 ----
  msgstr "-mno-serialize-volatile\tNo serializa las referencias a memoria volátil con instrucciones MEMW."
  
  #: config/xtensa/xtensa.opt:65
! #, no-c-format
  msgid "Use call0 ABI."
! msgstr "Usa la ABI call0."
  
  #: config/xtensa/xtensa.opt:69
! #, no-c-format
  msgid "Use windowed registers ABI."
! msgstr "Usa registros ABI de ventana."
  
  #: config/i386/mingw-w64.opt:23
  #, no-c-format
*************** msgid "Branches are this expensive (arbi
*** 7407,7416 ****
  msgstr "Las ramificaciones son así de caras (unidades arbitrarias)."
  
  #: config/i386/i386.opt:300
! #, fuzzy, no-c-format
! #| msgid "-mlarge-data-threshold=<number>\tData greater than given threshold will go into .ldata section in x86-64 medium model."
  msgid "-mlarge-data-threshold=<number>\tData greater than given threshold will go into a large data section in x86-64 medium and large code models."
! msgstr "-mlarge-data-threshold=<número>\tLos datos más grandes que el límite dado irán a la sección .ldata en el modeolo medium del x86-64."
  
  #: config/i386/i386.opt:304
  #, no-c-format
--- 7390,7398 ----
  msgstr "Las ramificaciones son así de caras (unidades arbitrarias)."
  
  #: config/i386/i386.opt:300
! #, no-c-format
  msgid "-mlarge-data-threshold=<number>\tData greater than given threshold will go into a large data section in x86-64 medium and large code models."
! msgstr "-mlarge-data-threshold=<número>\tLos datos más grandes que el límite dado irán a una sección de datos grande en los modelos de código mediano y grande del x86-64."
  
  #: config/i386/i386.opt:304
  #, no-c-format
*************** msgstr "Desactiva el paso de optimizaci�
*** 7640,7646 ****
  #: config/i386/i386.opt:622
  #, no-c-format
  msgid "The maximum number of use and def visits when discovering a STV chain before the discovery is aborted."
! msgstr ""
  
  #: config/i386/i386.opt:626
  #, no-c-format
--- 7622,7628 ----
  #: config/i386/i386.opt:622
  #, no-c-format
  msgid "The maximum number of use and def visits when discovering a STV chain before the discovery is aborted."
! msgstr "El número máximo de visitas de uso y de definición al descubrir una cadena STV antes de abortar el descubrimiento."
  
  #: config/i386/i386.opt:626
  #, no-c-format
*************** msgid "Use 128-bit AVX instructions inst
*** 7653,7690 ****
  msgstr "Usa instrucciones AVX de 128-bit en lugar de instrucciones AVX de 256-bit en el auto-vectorizador."
  
  #: config/i386/i386.opt:635
! #, fuzzy, no-c-format
! #| msgid "Use 128-bit AVX instructions instead of 256-bit AVX instructions in the auto-vectorizer."
  msgid "Use given register vector width instructions instead of maximum register width in the auto-vectorizer."
! msgstr "Usa instrucciones AVX de 128-bit en lugar de instrucciones AVX de 256-bit en el auto-vectorizador."
  
  #: config/i386/i386.opt:639
! #, fuzzy, no-c-format
! #| msgid "Known preferred register vector length (to use with the -mprefer-vector-width= option)"
  msgid "Known preferred register vector length (to use with the -mprefer-vector-width= option):"
! msgstr "Longitud de vector de registros preferida conocida (para usar con la opción -mprefer-vector-width=)"
  
  #: config/i386/i386.opt:655
  #, no-c-format
  msgid "Enable floating-point status flags setting SSE vector operations on partial vectors."
! msgstr ""
  
  #: config/i386/i386.opt:659
! #, fuzzy, no-c-format
! #| msgid "Maximum number of disambiguations to perform per memory access."
  msgid "Maximum number of bits that can be moved from memory to memory efficiently."
! msgstr "Número máximo de desambiguaciones que realizar por cada acceso a memoria."
  
  #: config/i386/i386.opt:663
! #, fuzzy, no-c-format
! #| msgid "Maximum number of times that an insn could be scheduled."
  msgid "Maximum number of bits that can be stored to memory efficiently."
! msgstr "El número máximo de veces que se puede planificar una insns."
  
  #: config/i386/i386.opt:667
  #, no-c-format
  msgid "Optimize noreturn functions by not saving callee-saved registers used in the function."
! msgstr ""
  
  #: config/i386/i386.opt:673
  #, no-c-format
--- 7635,7668 ----
  msgstr "Usa instrucciones AVX de 128-bit en lugar de instrucciones AVX de 256-bit en el auto-vectorizador."
  
  #: config/i386/i386.opt:635
! #, no-c-format
  msgid "Use given register vector width instructions instead of maximum register width in the auto-vectorizer."
! msgstr "Usa instrucciones de anchura de registro vectorial en lugar de la anchura máxima de registro en el auto-vectorizador."
  
  #: config/i386/i386.opt:639
! #, no-c-format
  msgid "Known preferred register vector length (to use with the -mprefer-vector-width= option):"
! msgstr "Longitud de vector de registros preferida conocida (para usar con la opción -mprefer-vector-width=):"
  
  #: config/i386/i386.opt:655
  #, no-c-format
  msgid "Enable floating-point status flags setting SSE vector operations on partial vectors."
! msgstr "Habilita las opciones de estado de coma flotante poniendo operaciones vectoriales SSE en vectores parciales."
  
  #: config/i386/i386.opt:659
! #, no-c-format
  msgid "Maximum number of bits that can be moved from memory to memory efficiently."
! msgstr "Número máximo de bits que pueden moverse de memoria a memoria de manera eficiente."
  
  #: config/i386/i386.opt:663
! #, no-c-format
  msgid "Maximum number of bits that can be stored to memory efficiently."
! msgstr "El número máximo de bits que pueden almacenarse en memoria de manera eficiente."
  
  #: config/i386/i386.opt:667
  #, no-c-format
  msgid "Optimize noreturn functions by not saving callee-saved registers used in the function."
! msgstr "Optimiza funciones sin retorno no guardando registros guardados por la función llamada usados en la función."
  
  #: config/i386/i386.opt:673
  #, no-c-format
*************** msgid "Support MMX, SSE, SSE2, SSE3, SSS
*** 7822,7831 ****
  msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F y AVX512BITALG."
  
  #: config/i386/i386.opt:789
! #, fuzzy, no-c-format
! #| msgid "Support AVX512VNNI built-in functions and code generation."
  msgid "Support AVX512VP2INTERSECT built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AVX512VNNI."
  
  #: config/i386/i386.opt:793
  #, no-c-format
--- 7800,7808 ----
  msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F y AVX512BITALG."
  
  #: config/i386/i386.opt:789
! #, no-c-format
  msgid "Support AVX512VP2INTERSECT built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AVX512VP2INTERSECT."
  
  #: config/i386/i386.opt:793
  #, no-c-format
*************** msgid "Support WBNOINVD built-in functio
*** 7873,7888 ****
  msgstr "Admite funciones internas y generación de código WBNOINVD."
  
  #: config/i386/i386.opt:829
! #, fuzzy, no-c-format
! #| msgid "Support RTM built-in functions and code generation."
  msgid "Support PTWRITE built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código RTM."
  
  #: config/i386/i386.opt:833
! #, fuzzy, no-c-format
! #| msgid "Support BMI built-in functions and code generation."
  msgid "Support UINTR built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código BMI."
  
  #: config/i386/i386.opt:837
  #, no-c-format
--- 7850,7863 ----
  msgstr "Admite funciones internas y generación de código WBNOINVD."
  
  #: config/i386/i386.opt:829
! #, no-c-format
  msgid "Support PTWRITE built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código PTWRITE."
  
  #: config/i386/i386.opt:833
! #, no-c-format
  msgid "Support UINTR built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código UINTR."
  
  #: config/i386/i386.opt:837
  #, no-c-format
*************** msgid "Support PREFETCHW instruction."
*** 7940,7949 ****
  msgstr "Admite la instrucción PREFETCHW."
  
  #: config/i386/i386.opt:881
! #, fuzzy, no-c-format
! #| msgid "Support code generation of crc32 instruction."
  msgid "Support flag-preserving add-carry instructions."
! msgstr "Admite la generación de código de la instrucción crc32."
  
  #: config/i386/i386.opt:885
  #, no-c-format
--- 7915,7923 ----
  msgstr "Admite la instrucción PREFETCHW."
  
  #: config/i386/i386.opt:881
! #, no-c-format
  msgid "Support flag-preserving add-carry instructions."
! msgstr "Admite instrucciones de preservación del indicador de acarreo de la suma."
  
  #: config/i386/i386.opt:885
  #, no-c-format
*************** msgstr "Activa la instrumentación CET p
*** 8128,8134 ****
  #: config/i386/i386.opt:1070
  #, no-c-format
  msgid "Insert ENDBR instruction at function entry only via cf_check attribute for CET instrumentation."
! msgstr ""
  
  #: config/i386/i386.opt:1075
  #, no-c-format
--- 8102,8108 ----
  #: config/i386/i386.opt:1070
  #, no-c-format
  msgid "Insert ENDBR instruction at function entry only via cf_check attribute for CET instrumentation."
! msgstr "Inserta la instrucción ENDBR en la entrada de una función únicamente mediante el atributo cf_check para instrumentación CET."
  
  #: config/i386/i386.opt:1075
  #, no-c-format
*************** msgstr "Hace indirectas todas las llamad
*** 8138,8150 ****
  #: config/i386/i386.opt:1079
  #, no-c-format
  msgid "Convert indirect call and jump to call and return thunks."
! msgstr ""
  
  #: config/i386/i386.opt:1083
! #, fuzzy, no-c-format
! #| msgid "function return type cannot be function"
  msgid "Convert function return to call and return thunk."
! msgstr "el tipo de devolución de función no puede ser función"
  
  #: config/i386/i386.opt:1087 config/s390/s390.opt:279
  #, no-c-format
--- 8112,8123 ----
  #: config/i386/i386.opt:1079
  #, no-c-format
  msgid "Convert indirect call and jump to call and return thunks."
! msgstr "Convierte llamadas y saltos indirectos en «thunks» de llamadas y retornos."
  
  #: config/i386/i386.opt:1083
! #, no-c-format
  msgid "Convert function return to call and return thunk."
! msgstr "Convierte retornos a función en «thunks» de llamadas y retornos."
  
  #: config/i386/i386.opt:1087 config/s390/s390.opt:279
  #, no-c-format
*************** msgstr "Opciones conocidas para ramifica
*** 8154,8165 ****
  #: config/i386/i386.opt:1103
  #, no-c-format
  msgid "Add CS prefix to call and jmp to indirect thunk with branch target in r8-r15 registers."
! msgstr ""
  
  #: config/i386/i386.opt:1107
  #, no-c-format
  msgid "Force indirect call and jump via register."
! msgstr ""
  
  #: config/i386/i386.opt:1111
  #, no-c-format
--- 8127,8138 ----
  #: config/i386/i386.opt:1103
  #, no-c-format
  msgid "Add CS prefix to call and jmp to indirect thunk with branch target in r8-r15 registers."
! msgstr "Añade el prefijo CS a llamada y salto a «thunk» indirecto con objetivo de bifurcación en los registros r8-r16."
  
  #: config/i386/i386.opt:1107
  #, no-c-format
  msgid "Force indirect call and jump via register."
! msgstr "Fuerza la llamada y salto indirecto mediante registro."
  
  #: config/i386/i386.opt:1111
  #, no-c-format
*************** msgid "Support MOVDIR64B built-in functi
*** 8172,8473 ****
  msgstr "Admite funciones internas y generación de código MOVDIR64B."
  
  #: config/i386/i386.opt:1119
! #, fuzzy, no-c-format
! #| msgid "Support LWP built-in functions and code generation."
  msgid "Support WAITPKG built-in functions and code generation."
! msgstr "Admite funciones internas LWP y generación de código."
  
  #: config/i386/i386.opt:1123
! #, fuzzy, no-c-format
! #| msgid "Support CLZERO built-in functions and code generation."
  msgid "Support CLDEMOTE built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código CLZERO."
  
  #: config/i386/i386.opt:1127
! #, fuzzy, no-c-format
! #| msgid "Instrument only functions marked with bnd_instrument attribute."
  msgid "Instrument function exit in instrumented functions with __fentry__."
! msgstr "Instrumenta solamente funciones marcadas con el atributo bnd_instrument."
  
  #: config/i386/i386.opt:1131
  #, no-c-format
  msgid "Known choices for return instrumentation with -minstrument-return=:"
! msgstr ""
  
  #: config/i386/i386.opt:1144
! #, fuzzy, no-c-format
! #| msgid "Generate __mcount_loc section with all mcount or __fentry__ calls."
  msgid "Generate a __return_loc section pointing to all return instrumentation code."
! msgstr "Genera sección __mcount_loc con todos los mcount o llamadas __fentry__."
  
  #: config/i386/i386.opt:1152
  #, no-c-format
  msgid "Known choices for mitigation against straight line speculation with -mharden-sls=:"
! msgstr ""
  
  #: config/i386/i386.opt:1168
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VBMI2 built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512BF16 built-in functions and code generation."
  msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F y AVX512VBMI2."
  
  #: config/i386/i386.opt:1173
! #, fuzzy, no-c-format
! #| msgid "Support RDRND built-in functions and code generation."
  msgid "Support ENQCMD built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código RDRND."
  
  #: config/i386/i386.opt:1177
! #, fuzzy, no-c-format
! #| msgid "Support AES built-in functions and code generation."
  msgid "Support SERIALIZE built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AES."
  
  #: config/i386/i386.opt:1181
! #, fuzzy, no-c-format
! #| msgid "Support SGX built-in functions and code generation."
  msgid "Support TSXLDTRK built-in functions and code generation."
! msgstr "Admite funciones internas SGX y generación de código."
  
  #: config/i386/i386.opt:1185
! #, fuzzy, no-c-format
! #| msgid "Support AES built-in functions and code generation."
  msgid "Support AMX-TILE built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AES."
  
  #: config/i386/i386.opt:1189
! #, fuzzy, no-c-format
! #| msgid "Support BMI built-in functions and code generation."
  msgid "Support AMX-INT8 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código BMI."
  
  #: config/i386/i386.opt:1193
! #, fuzzy, no-c-format
! #| msgid "Support F16C built-in functions and code generation."
  msgid "Support AMX-BF16 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código F16C."
  
  #: config/i386/i386.opt:1197
! #, fuzzy, no-c-format
! #| msgid "Support AES built-in functions and code generation."
  msgid "Support HRESET built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AES."
  
  #: config/i386/i386.opt:1201
! #, fuzzy, no-c-format
! #| msgid "Support LWP built-in functions and code generation."
  msgid "Support KL built-in functions and code generation."
! msgstr "Admite funciones internas LWP y generación de código."
  
  #: config/i386/i386.opt:1205
! #, fuzzy, no-c-format
! #| msgid "Support LWP built-in functions and code generation."
  msgid "Support WIDEKL built-in functions and code generation."
! msgstr "Admite funciones internas LWP y generación de código."
  
  #: config/i386/i386.opt:1209
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVXVNNI built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y AVX512F."
  
  #: config/i386/i386.opt:1214
  #, no-c-format
  msgid "Emit GNU_PROPERTY_X86_ISA_1_NEEDED GNU property."
! msgstr ""
  
  #: config/i386/i386.opt:1218
! #, fuzzy, no-c-format
! #| msgid "Support MWAITX and MONITORX built-in functions and code generation."
  msgid "Support MWAIT and MONITOR built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MWAITX y MONITORX."
  
  #: config/i386/i386.opt:1222
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VBMI2 built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512-FP16 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F y AVX512VBMI2."
  
  #: config/i386/i386.opt:1226
! #, fuzzy, no-c-format
! #| msgid "Do not use the AltiVec ABI extensions."
  msgid "Do not use GOT to access external symbols."
! msgstr "No usa las extensiones de ABI AltiVec."
  
  #: config/i386/i386.opt:1230
  #, no-c-format
  msgid "Instructions number above which STFL stall penalty can be compensated."
! msgstr ""
  
  #: config/i386/i386.opt:1234
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVXIFMA built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y AVX512F."
  
  #: config/i386/i386.opt:1239
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVXVNNIINT8 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y AVX512F."
  
  #: config/i386/i386.opt:1244
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVXNECONVERT build-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y AVX512F."
  
  #: config/i386/i386.opt:1249
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and CMPCCXADD build-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y AVX512F."
  
  #: config/i386/i386.opt:1254
! #, fuzzy, no-c-format
! #| msgid "Support F16C built-in functions and code generation."
  msgid "Support AMX-FP16 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código F16C."
  
  #: config/i386/i386.opt:1258
! #, fuzzy, no-c-format
! #| msgid "Support PREFETCHWT1 built-in functions and code generation."
  msgid "Support PREFETCHI built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código PREFETCHWT1."
  
  #: config/i386/i386.opt:1262
! #, fuzzy, no-c-format
! #| msgid "Support RTM built-in functions and code generation."
  msgid "Support RAOINT built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código RTM."
  
  #: config/i386/i386.opt:1266
  #, no-c-format
  msgid "Enable conservative small loop unrolling."
! msgstr ""
  
  #: config/i386/i386.opt:1270
  #, no-c-format
  msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers."
! msgstr ""
  
  #: config/i386/i386.opt:1286
! #, fuzzy, no-c-format
! #| msgid "Support XOP built-in functions and code generation."
  msgid "Support AMX-COMPLEX built-in functions and code generation."
! msgstr "Admite funciones internas XOP y generación de código."
  
  #: config/i386/i386.opt:1290
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVXVNNIINT16 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y AVX512F."
  
  #: config/i386/i386.opt:1295
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and SM3 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX y FMA."
  
  #: config/i386/i386.opt:1300
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and AVX2 built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and SHA512 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX y AVX2."
  
  #: config/i386/i386.opt:1305
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and SM4 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX y FMA."
  
  #: config/i386/i386.opt:1310
! #, fuzzy, no-c-format
! #| msgid "Enable vectorization on trees."
  msgid "Enable vectorization for gather instruction."
! msgstr "Activa la vectorización en árboles."
  
  #: config/i386/i386.opt:1314
! #, fuzzy, no-c-format
! #| msgid "Enable vectorization on trees."
  msgid "Enable vectorization for scatter instruction."
! msgstr "Activa la vectorización en árboles."
  
  #: config/i386/i386.opt:1318
  #, no-c-format
  msgid "Support code generation for APX features, including EGPR, PUSH2POP2, NDD, PPX, NF, CCMP and ZU."
! msgstr ""
  
  #: config/i386/i386.opt:1356
  #, no-c-format
  msgid "Enable GPR32 in inline asm when APX_F enabled."
! msgstr ""
  
  #: config/i386/i386.opt:1360
! #, fuzzy, no-c-format
! #| msgid "Support BMI2 built-in functions and code generation."
  msgid "Support 512 bit vector built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código BMI2."
  
  #: config/i386/i386.opt:1364
! #, fuzzy, no-c-format
! #| msgid "Support AES built-in functions and code generation."
  msgid "Support USER_MSR built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AES."
  
  #: config/i386/i386.opt:1368
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVX10.1-256 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y AVX512F."
  
  #: config/i386/i386.opt:1373 config/i386/i386.opt:1378
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVX10.1-512 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y AVX512F."
  
  #: config/i386/i386.opt:1383
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VBMI2 built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512 and AVX10.2 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F y AVX512VBMI2."
  
  #: config/i386/i386.opt:1388
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VBMI2 built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512, AVX10.2 and AMX-AVX512 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F y AVX512VBMI2."
  
  #: config/i386/i386.opt:1393
! #, fuzzy, no-c-format
! #| msgid "Support BMI2 built-in functions and code generation."
  msgid "Support AMX-TF32 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código BMI2."
  
  #: config/i386/i386.opt:1397
! #, fuzzy, no-c-format
! #| msgid "Support AES built-in functions and code generation."
  msgid "Support AMX-TRANSPOSE built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AES."
  
  #: config/i386/i386.opt:1401
! #, fuzzy, no-c-format
! #| msgid "Support XOP built-in functions and code generation."
  msgid "Support AMX-FP8 built-in functions and code generation."
! msgstr "Admite funciones internas XOP y generación de código."
  
  #: config/i386/i386.opt:1405
! #, fuzzy, no-c-format
! #| msgid "Support MOVDIRI built-in functions and code generation."
  msgid "Support MOVRS built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MOVDIRI."
  
  #: config/i386/i386.opt:1409
! #, fuzzy, no-c-format
! #| msgid "Support MOVDIRI built-in functions and code generation."
  msgid "Support AMX-MOVRS built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MOVDIRI."
  
  #: config/pa/pa64-hpux.opt:23
  #, no-c-format
--- 8145,8403 ----
  msgstr "Admite funciones internas y generación de código MOVDIR64B."
  
  #: config/i386/i386.opt:1119
! #, no-c-format
  msgid "Support WAITPKG built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código WAITPKG."
  
  #: config/i386/i386.opt:1123
! #, no-c-format
  msgid "Support CLDEMOTE built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código CLDEMOTE."
  
  #: config/i386/i386.opt:1127
! #, no-c-format
  msgid "Instrument function exit in instrumented functions with __fentry__."
! msgstr "Instrumenta la salida de una función en las funciones instrumentadas con __fentry__."
  
  #: config/i386/i386.opt:1131
  #, no-c-format
  msgid "Known choices for return instrumentation with -minstrument-return=:"
! msgstr "Opciones conocidas para instrumentación del retorno con -minstrument-return=:"
  
  #: config/i386/i386.opt:1144
! #, no-c-format
  msgid "Generate a __return_loc section pointing to all return instrumentation code."
! msgstr "Genera sección __return_loc apuntando a todo el código de instrumentación del retorno."
  
  #: config/i386/i386.opt:1152
  #, no-c-format
  msgid "Known choices for mitigation against straight line speculation with -mharden-sls=:"
! msgstr "Opciones conocidas para mitigar la especulación de línea directa con -mharden-sls=:"
  
  #: config/i386/i386.opt:1168
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512BF16 built-in functions and code generation."
  msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F y AVX512VBMI2."
  
  #: config/i386/i386.opt:1173
! #, no-c-format
  msgid "Support ENQCMD built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código ENQCMD."
  
  #: config/i386/i386.opt:1177
! #, no-c-format
  msgid "Support SERIALIZE built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código SERIALIZE."
  
  #: config/i386/i386.opt:1181
! #, no-c-format
  msgid "Support TSXLDTRK built-in functions and code generation."
! msgstr "Admite funciones internas SGX y generación de TSXLDTRK."
  
  #: config/i386/i386.opt:1185
! #, no-c-format
  msgid "Support AMX-TILE built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AMX-TILE."
  
  #: config/i386/i386.opt:1189
! #, no-c-format
  msgid "Support AMX-INT8 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AMX-INT8."
  
  #: config/i386/i386.opt:1193
! #, no-c-format
  msgid "Support AMX-BF16 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AMX-BF16."
  
  #: config/i386/i386.opt:1197
! #, no-c-format
  msgid "Support HRESET built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código HRESET."
  
  #: config/i386/i386.opt:1201
! #, no-c-format
  msgid "Support KL built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código KL."
  
  #: config/i386/i386.opt:1205
! #, no-c-format
  msgid "Support WIDEKL built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código WIDEKL."
  
  #: config/i386/i386.opt:1209
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVXVNNI built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y AVXVNNI."
  
  #: config/i386/i386.opt:1214
  #, no-c-format
  msgid "Emit GNU_PROPERTY_X86_ISA_1_NEEDED GNU property."
! msgstr "Emite la propiedad GNU GNU_PROPERTY_X86_ISA_1_NEEDED."
  
  #: config/i386/i386.opt:1218
! #, no-c-format
  msgid "Support MWAIT and MONITOR built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MWAIT y MONITOR."
  
  #: config/i386/i386.opt:1222
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512-FP16 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F y AVX512-FP16."
  
  #: config/i386/i386.opt:1226
! #, no-c-format
  msgid "Do not use GOT to access external symbols."
! msgstr "No usa GOT para acceder a símbolos externos."
  
  #: config/i386/i386.opt:1230
  #, no-c-format
  msgid "Instructions number above which STFL stall penalty can be compensated."
! msgstr "Número de instrucciones por encima del cual la penalización por estancamiento STFL puede compensarse."
  
  #: config/i386/i386.opt:1234
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVXIFMA built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y AVXIFMA."
  
  #: config/i386/i386.opt:1239
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVXVNNIINT8 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y AVXVNNIINT8."
  
  #: config/i386/i386.opt:1244
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVXNECONVERT build-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y AVXNECONVERT."
  
  #: config/i386/i386.opt:1249
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and CMPCCXADD build-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y CMPCCXADD."
  
  #: config/i386/i386.opt:1254
! #, no-c-format
  msgid "Support AMX-FP16 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AMX-FP16."
  
  #: config/i386/i386.opt:1258
! #, no-c-format
  msgid "Support PREFETCHI built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código PREFETCHI."
  
  #: config/i386/i386.opt:1262
! #, no-c-format
  msgid "Support RAOINT built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código RAOINT."
  
  #: config/i386/i386.opt:1266
  #, no-c-format
  msgid "Enable conservative small loop unrolling."
! msgstr "Habilita el desenrrollamiento conservador de bucles pequeños."
  
  #: config/i386/i386.opt:1270
  #, no-c-format
  msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers."
! msgstr "-mlam=[none|u48|u57] Instrumenta posición de metadatos en punteros de datos de usuario."
  
  #: config/i386/i386.opt:1286
! #, no-c-format
  msgid "Support AMX-COMPLEX built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AMX-COMPLEX."
  
  #: config/i386/i386.opt:1290
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVXVNNIINT16 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y AVXVNNIINT16."
  
  #: config/i386/i386.opt:1295
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and SM3 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX y SM3."
  
  #: config/i386/i386.opt:1300
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and SHA512 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX y SHA512."
  
  #: config/i386/i386.opt:1305
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and SM4 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX y SM4."
  
  #: config/i386/i386.opt:1310
! #, no-c-format
  msgid "Enable vectorization for gather instruction."
! msgstr "Activa la vectorización para la instrucción de recopilación."
  
  #: config/i386/i386.opt:1314
! #, no-c-format
  msgid "Enable vectorization for scatter instruction."
! msgstr "Activa la vectorización para la instrucción de dispersión."
  
  #: config/i386/i386.opt:1318
  #, no-c-format
  msgid "Support code generation for APX features, including EGPR, PUSH2POP2, NDD, PPX, NF, CCMP and ZU."
! msgstr "Admite la generación de código para características APX, incluidas EGPR, PUSH2POP2, NDD, PPX, NF, CCMP y ZU."
  
  #: config/i386/i386.opt:1356
  #, no-c-format
  msgid "Enable GPR32 in inline asm when APX_F enabled."
! msgstr "Habilita GPR32 en ensamblador en línea cuando APX_F está habilitado."
  
  #: config/i386/i386.opt:1360
! #, no-c-format
  msgid "Support 512 bit vector built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código de vectores de 512 bits."
  
  #: config/i386/i386.opt:1364
! #, no-c-format
  msgid "Support USER_MSR built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código USER_MSR."
  
  #: config/i386/i386.opt:1368
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVX10.1-256 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y AVX10.1-256."
  
  #: config/i386/i386.opt:1373 config/i386/i386.opt:1378
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVX10.1-512 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 y AVX10.1-512."
  
  #: config/i386/i386.opt:1383
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512 and AVX10.2 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512 y AVX10.2."
  
  #: config/i386/i386.opt:1388
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512, AVX10.2 and AMX-AVX512 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512, AVX10.2 y AMX-AVX512."
  
  #: config/i386/i386.opt:1393
! #, no-c-format
  msgid "Support AMX-TF32 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AMX-TF32."
  
  #: config/i386/i386.opt:1397
! #, no-c-format
  msgid "Support AMX-TRANSPOSE built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AMX-TRANSPOSE."
  
  #: config/i386/i386.opt:1401
! #, no-c-format
  msgid "Support AMX-FP8 built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AMX-FP8."
  
  #: config/i386/i386.opt:1405
! #, no-c-format
  msgid "Support MOVRS built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código MOVRS."
  
  #: config/i386/i386.opt:1409
! #, no-c-format
  msgid "Support AMX-MOVRS built-in functions and code generation."
! msgstr "Admite funciones internas y generación de código AMX-MOVRS."
  
  #: config/pa/pa64-hpux.opt:23
  #, no-c-format
*************** msgstr "Genera código PA2.0 (requiere b
*** 8513,8535 ****
  #: config/pa/pa.opt:42
  #, no-c-format
  msgid "Generate libcalls for atomic loads and stores when sync libcalls are disabled."
! msgstr ""
  
  #: config/pa/pa.opt:50
  #, no-c-format
  msgid "Caller copies function arguments passed by hidden reference."
! msgstr ""
  
  #: config/pa/pa.opt:54
  #, no-c-format
  msgid "Use ldcw/ldcd coherent cache-control hint."
! msgstr ""
  
  #: config/pa/pa.opt:58
! #, fuzzy, no-c-format
! #| msgid "Equivalent to -mgpopt=local."
  msgid "Disable FP regs.  Equivalent to -msoft-float."
! msgstr "Equivalente a -mgpopt=local."
  
  #: config/pa/pa.opt:62
  #, no-c-format
--- 8443,8464 ----
  #: config/pa/pa.opt:42
  #, no-c-format
  msgid "Generate libcalls for atomic loads and stores when sync libcalls are disabled."
! msgstr "Genera llamadas a biblioteca para cargas y almacenamientos atómicos cuando las llamadas a biblioteca están deshabilitadas."
  
  #: config/pa/pa.opt:50
  #, no-c-format
  msgid "Caller copies function arguments passed by hidden reference."
! msgstr "El llamante copia los argumentos de función pasados por referencia oculta."
  
  #: config/pa/pa.opt:54
  #, no-c-format
  msgid "Use ldcw/ldcd coherent cache-control hint."
! msgstr "Utiliza indicio de control de caché coherente ldcw/ldcd."
  
  #: config/pa/pa.opt:58
! #, no-c-format
  msgid "Disable FP regs.  Equivalent to -msoft-float."
! msgstr "Deshabilita los registros FP.  Equivalente a -msoft-float."
  
  #: config/pa/pa.opt:62
  #, no-c-format
*************** msgstr "Desactiva los registros de espac
*** 8574,8580 ****
  #: config/pa/pa.opt:107
  #, no-c-format
  msgid "Assume memory references are ordered and barriers are not needed."
! msgstr ""
  
  #: config/pa/pa.opt:123
  #, no-c-format
--- 8503,8509 ----
  #: config/pa/pa.opt:107
  #, no-c-format
  msgid "Assume memory references are ordered and barriers are not needed."
! msgstr "Asume que las referencias a memoria están ordenadas y no se necesitan barreras."
  
  #: config/pa/pa.opt:123
  #, no-c-format
*************** msgid "Use software floating point."
*** 8592,8601 ****
  msgstr "Usa coma flotante de software."
  
  #: config/pa/pa.opt:156
! #, fuzzy, no-c-format
! #| msgid "Use software floating point comparisons."
  msgid "Use software integer multiplication."
! msgstr "Usa comparaciones de coma flotante de software."
  
  #: config/pa/pa.opt:164
  #, no-c-format
--- 8521,8529 ----
  msgstr "Usa coma flotante de software."
  
  #: config/pa/pa.opt:156
! #, no-c-format
  msgid "Use software integer multiplication."
! msgstr "Usa multiplicación entera de software."
  
  #: config/pa/pa.opt:164
  #, no-c-format
*************** msgid "Support multi-threading."
*** 8769,8784 ****
  msgstr "Soporte para multihilos."
  
  #: config/nvptx/nvptx-gen.opt:24
! #, fuzzy, no-c-format
! #| msgid "Known ARM architectures (for use with the -march= option):"
  msgid "Known PTX ISA target architectures (for use with the -misa= option):"
! msgstr "Arquitecturas ARM conocidas (para usar con la opción -march=):"
  
  #: config/nvptx/nvptx.opt:31
! #, fuzzy, no-c-format
! #| msgid "Does nothing. Preserved for backward compatibility."
  msgid "Ignored, but preserved for backward compatibility.  Only 64-bit ABI is supported."
! msgstr "No hace nada. Preservado por compatibilidad hacia atrás."
  
  #: config/nvptx/nvptx.opt:36
  #, no-c-format
--- 8697,8710 ----
  msgstr "Soporte para multihilos."
  
  #: config/nvptx/nvptx-gen.opt:24
! #, no-c-format
  msgid "Known PTX ISA target architectures (for use with the -misa= option):"
! msgstr "Arquitecturas objetivo ISA PTX conocidas (para usar con la opción -misa=):"
  
  #: config/nvptx/nvptx.opt:31
! #, no-c-format
  msgid "Ignored, but preserved for backward compatibility.  Only 64-bit ABI is supported."
! msgstr "Se descarta, pero preservado por compatibilidad hacia atrás.  Solo se admite ABI de 64 bits."
  
  #: config/nvptx/nvptx.opt:36
  #, no-c-format
*************** msgstr "Usa pilas personalizadas en luga
*** 8798,8804 ****
  #: config/nvptx/nvptx.opt:48
  #, no-c-format
  msgid "Specify size of .local memory used for stack when the exact amount is not known."
! msgstr ""
  
  #: config/nvptx/nvptx.opt:52
  #, no-c-format
--- 8724,8730 ----
  #: config/nvptx/nvptx.opt:48
  #, no-c-format
  msgid "Specify size of .local memory used for stack when the exact amount is not known."
! msgstr "Especifica el tamaños de ña memory .local utilizado para la pila cuando no se conoce la cantidad exacta."
  
  #: config/nvptx/nvptx.opt:52
  #, no-c-format
*************** msgstr "Genera código para descarga Ope
*** 8812,8843 ****
  
  #: config/nvptx/nvptx.opt:60
  #, fuzzy, no-c-format
! #| msgid "Specify the name of the target architecture."
  msgid "Specify the PTX ISA target architecture to use."
! msgstr "Especifica el nombre de la arquitectura destino."
  
  #: config/nvptx/nvptx.opt:64
  #, no-c-format
  msgid "Alias:"
! msgstr ""
  
  #: config/nvptx/nvptx.opt:125
! #, fuzzy, no-c-format
! #| msgid "Known MIPS ISA levels (for use with the -mips option):"
  msgid "Known PTX ISA versions (for use with the -mptx= option):"
! msgstr "Niveles ISA MIPS conocidos (para uso con la opción -mips):"
  
  #: config/nvptx/nvptx.opt:159
! #, fuzzy, no-c-format
! #| msgid "The version of the C++ ABI in use."
  msgid "Specify the PTX ISA version to use."
! msgstr "La versión de la ABI de C++ que se está usando."
  
  #: config/nvptx/nvptx.opt:163
! #, fuzzy, no-c-format
! #| msgid "Use fp registers."
  msgid "Initialize ptx registers."
! msgstr "Usa registros fp."
  
  #: config/vxworks.opt:36
  #, no-c-format
--- 8738,8766 ----
  
  #: config/nvptx/nvptx.opt:60
  #, fuzzy, no-c-format
! #| msgid "Specify the ISA PTX target architecture to use."
  msgid "Specify the PTX ISA target architecture to use."
! msgstr "Especifica la arquitectura destino PTX ISA que se usará."
  
  #: config/nvptx/nvptx.opt:64
  #, no-c-format
  msgid "Alias:"
! msgstr "Alias:"
  
  #: config/nvptx/nvptx.opt:125
! #, no-c-format
  msgid "Known PTX ISA versions (for use with the -mptx= option):"
! msgstr "Versiones ISA PTX conocidas (para uso con la opción -mptx=):"
  
  #: config/nvptx/nvptx.opt:159
! #, no-c-format
  msgid "Specify the PTX ISA version to use."
! msgstr "Especifica la versión de ISA PTX que se usará."
  
  #: config/nvptx/nvptx.opt:163
! #, no-c-format
  msgid "Initialize ptx registers."
! msgstr "Inicializa los registros ptx."
  
  #: config/vxworks.opt:36
  #, no-c-format
*************** msgid "Assume the VxWorks vThreads envir
*** 8850,8913 ****
  msgstr "Asume el entorno vThreads de VxWorks."
  
  #: config/avr/avr.opt:27
! #, fuzzy, no-c-format
! #| msgid "Use subroutines for function prologues and epilogues."
  msgid "Optimization. Use subroutines for function prologues and epilogues."
! msgstr "Usa subrutinas para los prólogos y epílogos de función."
  
  #: config/avr/avr.opt:31
  #, no-c-format
  msgid "Use a startup code with a compact vector table."
! msgstr ""
  
  #: config/avr/avr.opt:35
! #, fuzzy, no-c-format
! #| msgid "-mmcu=MCU\tSelect the target MCU."
  msgid "-mmcu=<MCU>\tSelect the target MCU."
! msgstr "-mmcu=MCU\tSelecciona el MCU destino."
  
  #: config/avr/avr.opt:39
! #, fuzzy, no-c-format
! #| msgid "Allow usage of __gcc_isr pseudo instructions in ISR prologues and epilogues."
  msgid "Optimization. Allow usage of __gcc_isr pseudo instructions in ISR prologues and epilogues."
! msgstr "Permite el uso de pseudoinstrucciones __gcc_isr para los prólogos y epílogos de ISR."
  
  #: config/avr/avr.opt:43
! #, fuzzy, no-c-format
! #| msgid "Set the number of 64 KiB flash segments."
  msgid "This option is used internally. Set the number of 64 KiB flash segments."
! msgstr "Establece el número de segmentos flash de 64 KiB."
  
  #: config/avr/avr.opt:47
  #, no-c-format
  msgid "Call main and exit (default)."
! msgstr ""
  
  #: config/avr/avr.opt:51
  #, no-c-format
  msgid "This option is used internally. Indicate presence of a processor erratum.  Do not skip 32-bit instructions."
! msgstr ""
  
  #: config/avr/avr.opt:55
! #, fuzzy, no-c-format
! #| msgid "Enable Read-Modify-Write (RMW) instructions support/use."
  msgid "This option is used internally. Enable Read-Modify-Write (RMW) instructions support/use."
! msgstr "Activa el soporte/uso de instrucciones Leer-Modificar-Escribir (LME)."
  
  #: config/avr/avr.opt:66
  #, no-c-format
  msgid "This option is on per default in order to work around PR118012."
! msgstr ""
  
  #: config/avr/avr.opt:70
  #, no-c-format
  msgid "Optimization. Allow to use nonzero_bits() in some insn conditions."
! msgstr ""
  
  #: config/avr/avr.opt:74
  #, no-c-format
  msgid "This option is used internally for multilib generation and selection.  Assume RJMP / RCALL can target all program memory."
! msgstr ""
  
  #: config/avr/avr.opt:78
  #, no-c-format
--- 8773,8831 ----
  msgstr "Asume el entorno vThreads de VxWorks."
  
  #: config/avr/avr.opt:27
! #, no-c-format
  msgid "Optimization. Use subroutines for function prologues and epilogues."
! msgstr "Optimización. Usa subrutinas para los prólogos y epílogos de función."
  
  #: config/avr/avr.opt:31
  #, no-c-format
  msgid "Use a startup code with a compact vector table."
! msgstr "Utiliza código de arranque con una tabla de vectores compacta."
  
  #: config/avr/avr.opt:35
! #, no-c-format
  msgid "-mmcu=<MCU>\tSelect the target MCU."
! msgstr "-mmcu=<MCU>\tSelecciona el MCU destino."
  
  #: config/avr/avr.opt:39
! #, no-c-format
  msgid "Optimization. Allow usage of __gcc_isr pseudo instructions in ISR prologues and epilogues."
! msgstr "Optimización. Permite el uso de pseudoinstrucciones __gcc_isr para los prólogos y epílogos de ISR."
  
  #: config/avr/avr.opt:43
! #, no-c-format
  msgid "This option is used internally. Set the number of 64 KiB flash segments."
! msgstr "Esta opción se utiliza internamente. Establece el número de segmentos flash de 64 KiB."
  
  #: config/avr/avr.opt:47
  #, no-c-format
  msgid "Call main and exit (default)."
! msgstr "Llama a main y termina (por defecto)."
  
  #: config/avr/avr.opt:51
  #, no-c-format
  msgid "This option is used internally. Indicate presence of a processor erratum.  Do not skip 32-bit instructions."
! msgstr "Esta opción se utiliza internamente. Indica la presencia de uan errata del procesador.  No saltar instrucciones de 32 bits."
  
  #: config/avr/avr.opt:55
! #, no-c-format
  msgid "This option is used internally. Enable Read-Modify-Write (RMW) instructions support/use."
! msgstr "Esta opción se utiliza internamente. Activa el soporte/uso de instrucciones Leer-Modificar-Escribir (LME)."
  
  #: config/avr/avr.opt:66
  #, no-c-format
  msgid "This option is on per default in order to work around PR118012."
! msgstr "Esta opción está activa por defecto para corregir PR118012."
  
  #: config/avr/avr.opt:70
  #, no-c-format
  msgid "Optimization. Allow to use nonzero_bits() in some insn conditions."
! msgstr "Optimización. Permite utilizar nonzero_bits() en algunas condiciones de instrucciones."
  
  #: config/avr/avr.opt:74
  #, no-c-format
  msgid "This option is used internally for multilib generation and selection.  Assume RJMP / RCALL can target all program memory."
! msgstr "Esta opción se utiliza internamente para generación y selección multibiblioteca.  Asume que RJMP / RCALL pueden dirigirse a toda la memoria del programa."
  
  #: config/avr/avr.opt:78
  #, no-c-format
*************** msgid "Change the stack pointer without
*** 8920,8934 ****
  msgstr "Cambia el puntero de la pila sin desactivar las interrupciones."
  
  #: config/avr/avr.opt:86
! #, fuzzy, no-c-format
! #| msgid "Set the branch costs for conditional branch instructions.  Reasonable values are small, non-negative integers.  The default branch cost is 0."
  msgid "-mbranch-cost=<cost>\tOptimization. Set the branch costs for conditional branch instructions.  Reasonable values are small, non-negative integers.  The default branch cost is 0."
! msgstr "Establece los costos de ramificación para las instrucciones de ramificación condicional.  Los valores razonables son enteros pequeños que no son negativos.  El costo de ramificación por defecto es 0."
  
  #: config/avr/avr.opt:90
  #, no-c-format
  msgid "Optimization. Treat main as if it had attribute OS_task."
! msgstr ""
  
  #: config/avr/avr.opt:100
  #, no-c-format
--- 8838,8851 ----
  msgstr "Cambia el puntero de la pila sin desactivar las interrupciones."
  
  #: config/avr/avr.opt:86
! #, no-c-format
  msgid "-mbranch-cost=<cost>\tOptimization. Set the branch costs for conditional branch instructions.  Reasonable values are small, non-negative integers.  The default branch cost is 0."
! msgstr "-mbranch-cost=<coste>\tOptimización. Establece los costos de bifurcación para las instrucciones de bifurcación condicional.  Los valores razonables son enteros pequeños que no son negativos.  El costo de bifurcación predeterminado es 0."
  
  #: config/avr/avr.opt:90
  #, no-c-format
  msgid "Optimization. Treat main as if it had attribute OS_task."
! msgstr "Optimización. Trata main como si tuviera el atributo OS_task."
  
  #: config/avr/avr.opt:100
  #, no-c-format
*************** msgid "Change only the low 8 bits of the
*** 8936,8945 ****
  msgstr "Cambia sólo los 8 bits bajos del puntero de pila."
  
  #: config/avr/avr.opt:104
! #, fuzzy, no-c-format
! #| msgid "Relax branches."
  msgid "Optimization. Relax branches."
! msgstr "Relaja ramificaciones."
  
  #: config/avr/avr.opt:108
  #, no-c-format
--- 8853,8861 ----
  msgstr "Cambia sólo los 8 bits bajos del puntero de pila."
  
  #: config/avr/avr.opt:104
! #, no-c-format
  msgid "Optimization. Relax branches."
! msgstr "Optimización. Relaja las bifurcaciones."
  
  #: config/avr/avr.opt:108
  #, no-c-format
*************** msgstr "Hace que el motor de relajación
*** 8948,8997 ****
  
  #: config/avr/avr.opt:112
  #, fuzzy, no-c-format
! #| msgid "Accumulate outgoing function arguments and acquire/release the needed stack space for outgoing function arguments in function prologue/epilogue.  Without this option, outgoing arguments are pushed before calling a function and popped afterwards.  This option can lead to reduced code size for functions that call many functions that get their arguments on the stack like, for example printf."
  msgid "Optimization. Accumulate outgoing function arguments and acquire/release the needed stack space for outgoing function arguments in function prologue/epilogue.  Without this option, outgoing arguments are pushed before calling a function and popped afterwards.  This option can lead to reduced code size for functions that call many functions that get their arguments on the stack like, for example printf."
! msgstr "Acumula los argumentos de función salientes y adquiere/libera el espacio de pila necesario para los argumentos de función salientes en el prólogo/epílogo de la función.  Sin esta opción, los argumentos salientes se empujan antes de llamar una función y se sacan después.  Esta opción puede conducir a tamaño de código reducido para funciones que llaman muchas funciones que obtienen sus argumentos de la pila como, por ejemplo, printf."
  
  #: config/avr/avr.opt:116
  #, no-c-format
  msgid "Optimization. Split shifts of 4-byte values into a byte shift and a residual bit shift."
! msgstr ""
  
  #: config/avr/avr.opt:120
  #, no-c-format
  msgid "Optimization. Split most of the load and store instructions into byte load and stores."
! msgstr ""
  
  #: config/avr/avr.opt:124
! #, fuzzy, no-c-format
! #| msgid "When accessing RAM, use X as imposed by the hardware, i.e. just use pre-decrement, post-increment and indirect addressing with the X register.  Without this option, the compiler may assume that there is an addressing mode X+const similar to Y+const and Z+const and emit instructions to emulate such an addressing mode for X."
  msgid "Optimization. When accessing RAM, use X as imposed by the hardware, i.e. just use pre-decrement, post-increment and indirect addressing with the X register.  Without this option, the compiler may assume that there is an addressing mode X+const similar to Y+const and Z+const and emit instructions to emulate such an addressing mode for X."
! msgstr "Cuando se accede a la RAM, usa X como lo impone el hardware, p.e. sólo usa pre-decremento, post-incremento y direccionamiento indirecto con el registro X.  Sin esta opción, el compilador puede asumir que hay un modo de direccionamiento X+const similar a Y+const y Z+const y emite instrucciones para emular tal modo de deireccionamiento para X."
  
  #: config/avr/avr.opt:128
  #, no-c-format
  msgid "This option is used internally. The device has the bitfield NVMCTRL_CTRLB.FLMAP."
! msgstr ""
  
  #: config/avr/avr.opt:132
  #, no-c-format
  msgid "The device has the .rodata section located in the RAM area."
! msgstr ""
  
  #: config/avr/avr.opt:137
  #, no-c-format
  msgid "This option is used internally for multilib generation and selection. The device has no SPH special function register."
! msgstr ""
  
  #: config/avr/avr.opt:141
  #, no-c-format
  msgid "Optimization. Split register additions from load/store instructions. Most useful on Reduced Tiny."
! msgstr ""
  
  #: config/avr/avr.opt:145
  #, no-c-format
  msgid "-mfuse-add=<0,2>\tOptimization. Split register additions from load/store instructions. Most useful on Reduced Tiny."
! msgstr ""
  
  #: config/avr/avr.opt:149
  #, no-c-format
--- 8864,8912 ----
  
  #: config/avr/avr.opt:112
  #, fuzzy, no-c-format
! #| msgid "OptimizationAccumulate outgoing function arguments and acquire/release the needed stack space for outgoing function arguments in function prologue/epilogue.  Without this option, outgoing arguments are pushed before calling a function and popped afterwards.  This option can lead to reduced code size for functions that call many functions that get their arguments on the stack like, for example printf."
  msgid "Optimization. Accumulate outgoing function arguments and acquire/release the needed stack space for outgoing function arguments in function prologue/epilogue.  Without this option, outgoing arguments are pushed before calling a function and popped afterwards.  This option can lead to reduced code size for functions that call many functions that get their arguments on the stack like, for example printf."
! msgstr "Optimización. Acumula los argumentos de función salientes y adquiere/libera el espacio de pila necesario para los argumentos de función salientes en el prólogo/epílogo de la función.  Sin esta opción, los argumentos salientes se empujan antes de llamar una función y se sacan después.  Esta opción puede conducir a tamaño de código reducido para funciones que llaman muchas funciones que obtienen sus argumentos de la pila como, por ejemplo, printf."
  
  #: config/avr/avr.opt:116
  #, no-c-format
  msgid "Optimization. Split shifts of 4-byte values into a byte shift and a residual bit shift."
! msgstr "Optimización. Parte los desplazamientos de valores de 4 bytes en un desplazamiento de byte y un desplazamientos de bits residual."
  
  #: config/avr/avr.opt:120
  #, no-c-format
  msgid "Optimization. Split most of the load and store instructions into byte load and stores."
! msgstr "Optimización. Parte la mayoría de las instrucciones de carga y almacenamiento en carga y almacenamientos de byte."
  
  #: config/avr/avr.opt:124
! #, no-c-format
  msgid "Optimization. When accessing RAM, use X as imposed by the hardware, i.e. just use pre-decrement, post-increment and indirect addressing with the X register.  Without this option, the compiler may assume that there is an addressing mode X+const similar to Y+const and Z+const and emit instructions to emulate such an addressing mode for X."
! msgstr "Optimización. Cuando se accede a la RAM, usa X como lo impone el hardware, p.e. sólo usa pre-decremento, post-incremento y direccionamiento indirecto con el registro X.  Sin esta opción, el compilador puede asumir que hay un modo de direccionamiento X+const similar a Y+const y Z+const y emite instrucciones para emular tal modo de deireccionamiento para X."
  
  #: config/avr/avr.opt:128
  #, no-c-format
  msgid "This option is used internally. The device has the bitfield NVMCTRL_CTRLB.FLMAP."
! msgstr "Esta opción se utiliza internamente. El dispositivo tiene el campo de bits NVMCTRL_CTRLB.FLMAP."
  
  #: config/avr/avr.opt:132
  #, no-c-format
  msgid "The device has the .rodata section located in the RAM area."
! msgstr "El dispositivo tiene la sección .rodata localizada en la zona RAM."
  
  #: config/avr/avr.opt:137
  #, no-c-format
  msgid "This option is used internally for multilib generation and selection. The device has no SPH special function register."
! msgstr "Esta opción se utiliza internamente para generación multilibrería y selección. El dispositivo no tiene registro de función especial SPH."
  
  #: config/avr/avr.opt:141
  #, no-c-format
  msgid "Optimization. Split register additions from load/store instructions. Most useful on Reduced Tiny."
! msgstr "Optimización. Divide las sumas de registros desde instrucciones de carga/almacenamiento. Útil, sobre todo, en «Reduced Tiny»."
  
  #: config/avr/avr.opt:145
  #, no-c-format
  msgid "-mfuse-add=<0,2>\tOptimization. Split register additions from load/store instructions. Most useful on Reduced Tiny."
! msgstr "-mfuse-add=<0,2>\tOptimización. Divide las sumas de registros desde instrucciones de carga/almacenamiento. Útil, sobre todo, en «Reduced Tiny»."
  
  #: config/avr/avr.opt:149
  #, no-c-format
*************** msgstr "Permite truncar en lugar de redo
*** 9011,9043 ****
  #: config/avr/avr.opt:161
  #, no-c-format
  msgid "Optimization. Run a post-reload pass that tweaks move instructions."
! msgstr ""
  
  #: config/avr/avr.opt:165
  #, no-c-format
  msgid "-mfuse-move=<0,23>\tOptimization. Run a post-reload pass that tweaks move instructions."
! msgstr ""
  
  #: config/avr/avr.opt:169
  #, no-c-format
  msgid "Optimization. Fuse some move insns after insn combine."
! msgstr ""
  
  #: config/avr/avr.opt:173
! #, fuzzy, no-c-format
! #| msgid "Assume that all data in static storage can be accessed by LDS / STS.  This option is only useful for reduced Tiny devices."
  msgid "Assume that all data in static storage can be accessed by LDS / STS instructions.  This option is only useful for reduced Tiny devices like ATtiny40."
! msgstr "Asume que se puede acceder a todos los datos en el almacenamiento estático por LDS / STS.  Esta opción solo es útil para dispositivos Tiny reducidos."
  
  #: config/avr/avr.opt:177
  #, no-c-format
  msgid "-mdouble=<BITS>\tUse <BITS> bits wide double type."
! msgstr ""
  
  #: config/avr/avr.opt:181
  #, no-c-format
  msgid "-mlong-double=<BITS>\tUse <BITS> bits wide long double type."
! msgstr ""
  
  #: config/avr/avr.opt:185
  #, no-c-format
--- 8926,8957 ----
  #: config/avr/avr.opt:161
  #, no-c-format
  msgid "Optimization. Run a post-reload pass that tweaks move instructions."
! msgstr "Optimización. Corre un paso de post recarga que ajusta las instruccions move."
  
  #: config/avr/avr.opt:165
  #, no-c-format
  msgid "-mfuse-move=<0,23>\tOptimization. Run a post-reload pass that tweaks move instructions."
! msgstr "-mfuse-move=<0,23>\tOptimización. Corre un paso de post recarga que ajusta las instruccions move."
  
  #: config/avr/avr.opt:169
  #, no-c-format
  msgid "Optimization. Fuse some move insns after insn combine."
! msgstr "Optimización. Fusiona algunas instrucciones move después de combinar instrucciones."
  
  #: config/avr/avr.opt:173
! #, no-c-format
  msgid "Assume that all data in static storage can be accessed by LDS / STS instructions.  This option is only useful for reduced Tiny devices like ATtiny40."
! msgstr "Asume que se puede acceder a todos los datos en el almacenamiento estático mediante instrucciones LDS / STS.  Esta opción solo es útil para dispositivos Tiny reducidos como el ATtiny40."
  
  #: config/avr/avr.opt:177
  #, no-c-format
  msgid "-mdouble=<BITS>\tUse <BITS> bits wide double type."
! msgstr "-mdouble=<BITS>\tUtiliza un tipo double de <BITS> bits de tamaño."
  
  #: config/avr/avr.opt:181
  #, no-c-format
  msgid "-mlong-double=<BITS>\tUse <BITS> bits wide long double type."
! msgstr "-mlong-double=<BITS>\tUtiliza un tipo long double de <BITS> bits de tamaño."
  
  #: config/avr/avr.opt:185
  #, no-c-format
*************** msgid "Do not link against the device-sp
*** 9045,9059 ****
  msgstr "No enlaza contra la biblioteca específica de dispositivo lib<MCU>.a."
  
  #: config/avr/avr.opt:189
! #, fuzzy, no-c-format
! #| msgid "Do not link against the device-specific library lib<MCU>.a."
  msgid "Do not use the device-specific specs file device-specs/specs-<MCU>."
! msgstr "No enlaza contra la biblioteca específica de dispositivo lib<MCU>.a."
  
  #: config/avr/avr.opt:193
  #, no-c-format
  msgid "Available BITS selections:"
! msgstr ""
  
  #: config/m32r/m32r.opt:34
  #, no-c-format
--- 8959,8972 ----
  msgstr "No enlaza contra la biblioteca específica de dispositivo lib<MCU>.a."
  
  #: config/avr/avr.opt:189
! #, no-c-format
  msgid "Do not use the device-specific specs file device-specs/specs-<MCU>."
! msgstr "No utiliza el fichero de especificaciones específico de dispositivo device-specs/specs-<MCU>."
  
  #: config/avr/avr.opt:193
  #, no-c-format
  msgid "Available BITS selections:"
! msgstr "Selecciones de BITS disponibles:"
  
  #: config/m32r/m32r.opt:34
  #, no-c-format
*************** msgstr "Asume que los segmentos de datos
*** 9288,9351 ****
  #: config/s390/s390.opt:245
  #, no-c-format
  msgid "Wrap all indirect branches into execute in order to disable branch prediction."
! msgstr ""
  
  #: config/s390/s390.opt:250
  #, no-c-format
  msgid "Wrap indirect table jumps and computed gotos into execute in order to disable branch prediction.  Using thunk or thunk-extern with this option requires the thunks to be considered signal handlers to order to generate correct CFI.  For environments where unwinding (e.g. for exceptions) is required please use thunk-inline instead."
! msgstr ""
  
  #: config/s390/s390.opt:258
  #, no-c-format
  msgid "Wrap all indirect calls into execute in order to disable branch prediction."
! msgstr ""
  
  #: config/s390/s390.opt:262
  #, no-c-format
  msgid "Wrap all indirect return branches into execute in order to disable branch prediction."
! msgstr ""
  
  #: config/s390/s390.opt:267
  #, no-c-format
  msgid "Wrap indirect return branches into execute in order to disable branch prediction. This affects only branches where the return address is going to be restored from memory."
! msgstr ""
  
  #: config/s390/s390.opt:273
  #, no-c-format
  msgid "Wrap indirect return branches into execute in order to disable branch prediction. This affects only branches where the return address doesn't need to be restored from memory."
! msgstr ""
  
  #: config/s390/s390.opt:295
  #, no-c-format
  msgid "Generate sections .s390_indirect_jump, .s390_indirect_call, .s390_return_reg, and .s390_return_mem to contain the indirect branch locations which have been patched as part of using one of the -mindirect-branch* or -mfunction-return* options.  The sections consist of an array of 32 bit elements. Each entry holds the offset from the entry to the patched location."
! msgstr ""
  
  #: config/s390/s390.opt:304
! #, fuzzy, no-c-format
! #| msgid "Emit profiling counter call at function entry before prologue."
  msgid "Emit profiling counter call at function entry before prologue. The compiled code will require a 64-bit CPU and glibc 2.29 or newer to run."
! msgstr "Emite llamada a contador de perfil en la entrada de función antes del prólogo."
  
  #: config/s390/s390.opt:309
! #, fuzzy, no-c-format
! #| msgid "Generate __mcount_loc section with all mcount or __fentry__ calls."
  msgid "Generate __mcount_loc section with all _mcount and __fentry__ calls."
! msgstr "Genera sección __mcount_loc con todos los mcount o llamadas __fentry__."
  
  #: config/s390/s390.opt:318
  #, no-c-format
  msgid "Emit fused multiply-add instructions for long doubles in vector registers (wfmaxb, wfmsxb, wfnmaxb, wfnmsxb).  Reassociation pass does not handle fused multiply-adds, therefore code generated by the middle-end is prone to having long fused multiply-add chains.  This is not pipeline-friendly, and the default behavior is to emit separate multiplication and addition instructions for long doubles in vector registers, because measurements show that this improves performance.  This option allows overriding it for testing purposes."
! msgstr ""
  
  #: config/s390/s390.opt:333
  #, no-c-format
  msgid "Store all argument registers on the stack."
! msgstr ""
  
  #: config/s390/s390.opt:337
  #, no-c-format
  msgid "Assume external symbols, whose natural alignment would be 1, to be potentially unaligned.  By default all symbols without explicit alignment are assumed to reside on a 2 byte boundary as mandated by the IBM Z ABI."
! msgstr ""
  
  #: config/rl78/rl78.opt:27 config/rx/elf.opt:26 config/csky/csky.opt:198
  #, no-c-format
--- 9201,9262 ----
  #: config/s390/s390.opt:245
  #, no-c-format
  msgid "Wrap all indirect branches into execute in order to disable branch prediction."
! msgstr "Envuelve todas las ramificaciones indirectas en ejecuciones para deshabilitar la predicción de bifurcación."
  
  #: config/s390/s390.opt:250
  #, no-c-format
  msgid "Wrap indirect table jumps and computed gotos into execute in order to disable branch prediction.  Using thunk or thunk-extern with this option requires the thunks to be considered signal handlers to order to generate correct CFI.  For environments where unwinding (e.g. for exceptions) is required please use thunk-inline instead."
! msgstr "Envuelve los saltos de tabla indirectos y los gotos calculados en ejecuciones para deshabilitar la predicción de bifurcación.  Utilizando «thunk» o «thunk-extern» con esta opción requiere considerar los «thunks» como manejadores de señales para ordenar para generar CFI correctos.  Para entornos en los que se requiera desenrollamiento (por ejemplo, para excepciones), utilícese «thunk-inline» en su lugar."
  
  #: config/s390/s390.opt:258
  #, no-c-format
  msgid "Wrap all indirect calls into execute in order to disable branch prediction."
! msgstr "Envuelve todas las llamadas indirectas en ejecuciones para deshabilitar la predicción de bifurcación."
  
  #: config/s390/s390.opt:262
  #, no-c-format
  msgid "Wrap all indirect return branches into execute in order to disable branch prediction."
! msgstr "Envuelve todas las bifurcaciones return indirectas en ejecuciones para deshabilitar la predicción de bifurcación."
  
  #: config/s390/s390.opt:267
  #, no-c-format
  msgid "Wrap indirect return branches into execute in order to disable branch prediction. This affects only branches where the return address is going to be restored from memory."
! msgstr "Envuelve las bifurcaciones return indirectas en ejecuciones para deshabilitar la predicción de bifurcación. Esto solo afecta a bifurcaciones en las que la dirección de retorno va a restaurarse desde memoria."
  
  #: config/s390/s390.opt:273
  #, no-c-format
  msgid "Wrap indirect return branches into execute in order to disable branch prediction. This affects only branches where the return address doesn't need to be restored from memory."
! msgstr "Envuelve las bifurcaciones return indirectas en ejecuciones para deshabilitar la predicción de bifurcación. Esto solo afecta a bifurcaciones en las que la dirección de retorno no necesita restaurarse desde memoria."
  
  #: config/s390/s390.opt:295
  #, no-c-format
  msgid "Generate sections .s390_indirect_jump, .s390_indirect_call, .s390_return_reg, and .s390_return_mem to contain the indirect branch locations which have been patched as part of using one of the -mindirect-branch* or -mfunction-return* options.  The sections consist of an array of 32 bit elements. Each entry holds the offset from the entry to the patched location."
! msgstr "Genera secciones .s390_indirect_jump, .s390_indirect_call, .s390_return_reg y .s390_return_mem para alojar las localizaciones de ramificaciones indirectas que se han parcheado como para de utilizar una de las opciones -mindirect-branch* o -mfunction-return*.  Las secciones constan de una lista de elementos de 32 bits. Cada entrada guarda el desplazamiento desde la entrada a la localización parcehada."
  
  #: config/s390/s390.opt:304
! #, no-c-format
  msgid "Emit profiling counter call at function entry before prologue. The compiled code will require a 64-bit CPU and glibc 2.29 or newer to run."
! msgstr "Emite llamada a contador de perfil en la entrada de función antes del prólogo. El código compilado requerirá una CPU de 64 btis y glib 2.29 o superior para correr."
  
  #: config/s390/s390.opt:309
! #, no-c-format
  msgid "Generate __mcount_loc section with all _mcount and __fentry__ calls."
! msgstr "Genera sección __mcount_loc con todos las llamadas a _mcount y __fentry__."
  
  #: config/s390/s390.opt:318
  #, no-c-format
  msgid "Emit fused multiply-add instructions for long doubles in vector registers (wfmaxb, wfmsxb, wfnmaxb, wfnmsxb).  Reassociation pass does not handle fused multiply-adds, therefore code generated by the middle-end is prone to having long fused multiply-add chains.  This is not pipeline-friendly, and the default behavior is to emit separate multiplication and addition instructions for long doubles in vector registers, because measurements show that this improves performance.  This option allows overriding it for testing purposes."
! msgstr "Emite instrucciones multiplicación-adición fusionadas para long doubles en los registros vectoriales (wfmaxb, wfmsxb, wfnmaxb, wfnmsxb).  El pase de reasociación no maneja multiplicaciones-adiciones fusionadas; por lo tanto, el código generado hacia el medio-final es proclive a tener cadenas largas de multiplicaciones-adiciones fusionadas.  Esto no facilita las «pipelines», por lo que el comportamiento predefinido es emitir instrucciones de multiplicación y adición separadas para long doubles en registros vectoriales, ya que las mediciones reflejan que esto mejora el rendimiento.  Esta opción puede anularse con fines de test."
  
  #: config/s390/s390.opt:333
  #, no-c-format
  msgid "Store all argument registers on the stack."
! msgstr "Almacena todos los registros de los argumentos en la pila."
  
  #: config/s390/s390.opt:337
  #, no-c-format
  msgid "Assume external symbols, whose natural alignment would be 1, to be potentially unaligned.  By default all symbols without explicit alignment are assumed to reside on a 2 byte boundary as mandated by the IBM Z ABI."
! msgstr "Asume que los símbolos externos, cuyo alineamienta natural sería 1, puedan estar desalineados.  Lo predefindo es asumir que todos los símbolos sin alineamiento explícito residan en contornos de 2 bytes, como prescribe el ABI del IBM Z."
  
  #: config/rl78/rl78.opt:27 config/rx/elf.opt:26 config/csky/csky.opt:198
  #, no-c-format
*************** msgstr "Ajusta el código para el proces
*** 9570,9576 ****
  #: config/arm/arm.opt:255
  #, no-c-format
  msgid "Print CPU tuning information as comment in assembler file.  This is an option used only for regression testing of the compiler and not intended for ordinary use in compiling code."
! msgstr ""
  
  #: config/arm/arm.opt:266
  #, no-c-format
--- 9481,9487 ----
  #: config/arm/arm.opt:255
  #, no-c-format
  msgid "Print CPU tuning information as comment in assembler file.  This is an option used only for regression testing of the compiler and not intended for ordinary use in compiling code."
! msgstr "Imprime información de ajuste de la CPU como comentario en el fichero ensamblador.  Esta es una opción que solo se utiliza para pruebas de regresión del compilador y no se destinan al uso ordinario en compilación de código."
  
  #: config/arm/arm.opt:266
  #, no-c-format
*************** msgstr "Usa los registros double-word Ne
*** 9585,9591 ****
  #: config/arm/arm.opt:274
  #, no-c-format
  msgid "Enable more verbose RTX cost dumps during debug.  For GCC developers use only."
! msgstr ""
  
  #: config/arm/arm.opt:278
  #, no-c-format
--- 9496,9502 ----
  #: config/arm/arm.opt:274
  #, no-c-format
  msgid "Enable more verbose RTX cost dumps during debug.  For GCC developers use only."
! msgstr "Habilita volcados más prolijos sobre el coste RTX.  Solo para desarrolladores de GCC."
  
  #: config/arm/arm.opt:278
  #, no-c-format
*************** msgstr "Evita el traslape en registros d
*** 9605,9621 ****
  #: config/arm/arm.opt:291
  #, no-c-format
  msgid "Mitigate issues with VLLDM on some M-profile devices (CVE-2021-35465)."
! msgstr ""
  
  #: config/arm/arm.opt:295
  #, no-c-format
  msgid "Mitigate issues with AES instructions on Cortex-A57 and Cortex-A72 (Arm erratum #1742098)."
! msgstr ""
  
  #: config/arm/arm.opt:300
  #, no-c-format
  msgid "Mitigate issues with AES instructions on Cortex-A57 and Cortex-A72 (Arm erratum #1655431)."
! msgstr ""
  
  #: config/arm/arm.opt:305 config/nds32/nds32.opt:461 config/arc/arc.opt:495
  #, no-c-format
--- 9516,9532 ----
  #: config/arm/arm.opt:291
  #, no-c-format
  msgid "Mitigate issues with VLLDM on some M-profile devices (CVE-2021-35465)."
! msgstr "Mitiga problemas con VLLDM en algunos dispositivos N-profile (CVE-2021-35465)."
  
  #: config/arm/arm.opt:295
  #, no-c-format
  msgid "Mitigate issues with AES instructions on Cortex-A57 and Cortex-A72 (Arm erratum #1742098)."
! msgstr "Mitiga problemas con instrucciones AES en Cortex-A57 y Cortex-A72 (Arm errata #1742098)."
  
  #: config/arm/arm.opt:300
  #, no-c-format
  msgid "Mitigate issues with AES instructions on Cortex-A57 and Cortex-A72 (Arm erratum #1655431)."
! msgstr "Mitiga problemas con instrucciones AES en Cortex-A57 y Cortex-A72 (Arm errata #1655431)."
  
  #: config/arm/arm.opt:305 config/nds32/nds32.opt:461 config/arc/arc.opt:495
  #, no-c-format
*************** msgid "Enable unaligned word and halfwor
*** 9623,9632 ****
  msgstr "Activa los accesos word sin alinear y halfword para los datos packed."
  
  #: config/arm/arm.opt:309
! #, fuzzy, no-c-format
! #| msgid "This switch is deprecated; do not use."
  msgid "This option is deprecated and has no effect."
! msgstr "Esta opción es obsoleta; no lo utilice."
  
  #: config/arm/arm.opt:313
  #, no-c-format
--- 9534,9542 ----
  msgstr "Activa los accesos word sin alinear y halfword para los datos packed."
  
  #: config/arm/arm.opt:309
! #, no-c-format
  msgid "This option is deprecated and has no effect."
! msgstr "Esta opción es obsoleta y no tiene ningún efecto."
  
  #: config/arm/arm.opt:313
  #, no-c-format
*************** msgstr "No permite que los datos constan
*** 9646,9657 ****
  #: config/arm/arm.opt:325
  #, no-c-format
  msgid "When linking for big-endian targets, generate a BE8 format image."
! msgstr ""
  
  #: config/arm/arm.opt:329
  #, no-c-format
  msgid "When linking for big-endian targets, generate a legacy BE32 format image."
! msgstr ""
  
  #: config/arm/arm.opt:333 config/sh/sh.opt:195
  #, no-c-format
--- 9556,9567 ----
  #: config/arm/arm.opt:325
  #, no-c-format
  msgid "When linking for big-endian targets, generate a BE8 format image."
! msgstr "Cuando se enlaza para objetivos «big endian», genera una imagen en formato BE8."
  
  #: config/arm/arm.opt:329
  #, no-c-format
  msgid "When linking for big-endian targets, generate a legacy BE32 format image."
! msgstr "Cuando se enlaza para objetivos «big endian», genera una imagen en el formato antiguo BE32."
  
  #: config/arm/arm.opt:333 config/sh/sh.opt:195
  #, no-c-format
*************** msgid "Cost to assume for a branch insn.
*** 9659,9673 ****
  msgstr "Costo de asumir una ramificación de insn."
  
  #: config/arm/arm.opt:341
! #, fuzzy, no-c-format
! #| msgid "Generate code which uses only the general registers."
  msgid "Generate code which uses the core registers only (r0-r14)."
! msgstr "Genera código que usa solo los registros generales."
  
  #: config/arm/arm.opt:363
  #, no-c-format
  msgid "Use an immediate to offset from the TLS register. This option is for use with fstack-protector-guard=tls and not for use in user-land code."
! msgstr ""
  
  #: config/sparc/sparc.opt:30 config/sparc/sparc.opt:34
  #: config/visium/visium.opt:37
--- 9569,9582 ----
  msgstr "Costo de asumir una ramificación de insn."
  
  #: config/arm/arm.opt:341
! #, no-c-format
  msgid "Generate code which uses the core registers only (r0-r14)."
! msgstr "Genera código que usa solo los registros del núcleo (r0-r14)."
  
  #: config/arm/arm.opt:363
  #, no-c-format
  msgid "Use an immediate to offset from the TLS register. This option is for use with fstack-protector-guard=tls and not for use in user-land code."
! msgstr "Utiliza un inmediato para desplazar desde el registro TLS.  Esta opción es para utilizar con fstack-protector-guard=tls y no para utilizar en código de usuario."
  
  #: config/sparc/sparc.opt:30 config/sparc/sparc.opt:34
  #: config/visium/visium.opt:37
*************** msgid "Use UltraSPARC Visual Instruction
*** 9726,9735 ****
  msgstr "Usa las extensiones del Conjunto de Instrucciones Visuales de UltraSPARC versión 3.0."
  
  #: config/sparc/sparc.opt:78
! #, fuzzy, no-c-format
! #| msgid "Use additional VIS instructions introduced in OSA2017."
  msgid "Use additional VIS 3 instructions introduced in OSA2011."
! msgstr "Usa las instrucciones adicionales de VIS introducidas en OSA2017."
  
  #: config/sparc/sparc.opt:82
  #, no-c-format
--- 9635,9643 ----
  msgstr "Usa las extensiones del Conjunto de Instrucciones Visuales de UltraSPARC versión 3.0."
  
  #: config/sparc/sparc.opt:78
! #, no-c-format
  msgid "Use additional VIS 3 instructions introduced in OSA2011."
! msgstr "Usa las instrucciones adicionales de VIS 3 introducidas en OSA2011."
  
  #: config/sparc/sparc.opt:82
  #, no-c-format
*************** msgid "Use UltraSPARC Visual Instruction
*** 9737,9746 ****
  msgstr "Usa las extensiones del Conjunto de Instrucciones Visuales de UltraSPARC versión 4.0."
  
  #: config/sparc/sparc.opt:86
! #, fuzzy, no-c-format
! #| msgid "Use additional VIS instructions introduced in OSA2017."
  msgid "Use additional VIS 4 instructions introduced in OSA2017."
! msgstr "Usa las instrucciones adicionales de VIS introducidas en OSA2017."
  
  #: config/sparc/sparc.opt:90
  #, no-c-format
--- 9645,9653 ----
  msgstr "Usa las extensiones del Conjunto de Instrucciones Visuales de UltraSPARC versión 4.0."
  
  #: config/sparc/sparc.opt:86
! #, no-c-format
  msgid "Use additional VIS 4 instructions introduced in OSA2017."
! msgstr "Usa las instrucciones adicionales de VIS 4 introducidas en OSA2017."
  
  #: config/sparc/sparc.opt:90
  #, no-c-format
*************** msgid "Do not generate code that can onl
*** 9808,9817 ****
  msgstr "No genera código que solo pueda correr en modo supervisor (predeterminado)."
  
  #: config/sparc/sparc.opt:142
! #, fuzzy, no-c-format
! #| msgid "Use features of and schedule code for given CPU."
  msgid "Use instructions of and schedule code for given CPU."
! msgstr "Usa las características y el código de planificador para el CPU dado."
  
  #: config/sparc/sparc.opt:228
  #, no-c-format
--- 9715,9723 ----
  msgstr "No genera código que solo pueda correr en modo supervisor (predeterminado)."
  
  #: config/sparc/sparc.opt:142
! #, no-c-format
  msgid "Use instructions of and schedule code for given CPU."
! msgstr "Usa las instrucciones y el código de planificador para la CPU dada."
  
  #: config/sparc/sparc.opt:228
  #, no-c-format
*************** msgstr "Coloca todo en la TOC normal."
*** 10051,10057 ****
  #: config/rs6000/rs6000.opt:305
  #, no-c-format
  msgid "Emit NOPs before global and after local entry point for -fpatchable-function-entry."
! msgstr ""
  
  #: config/rs6000/rs6000.opt:309
  #, no-c-format
--- 9957,9963 ----
  #: config/rs6000/rs6000.opt:305
  #, no-c-format
  msgid "Emit NOPs before global and after local entry point for -fpatchable-function-entry."
! msgstr "Emite NOPs antes del punto de entrada global y después del local para -fpatchable-function-entry."
  
  #: config/rs6000/rs6000.opt:309
  #, no-c-format
*************** msgstr "Máx. número de bytes para move
*** 10076,10087 ****
  #: config/rs6000/rs6000.opt:325
  #, no-c-format
  msgid "Generate unaligned VSX load/store for inline expansion of memcpy/memmove."
! msgstr ""
  
  #: config/rs6000/rs6000.opt:329
  #, no-c-format
  msgid "Generate unaligned VSX vector pair load/store for inline expansion of memcpy/memmove."
! msgstr ""
  
  #: config/rs6000/rs6000.opt:333
  #, no-c-format
--- 9982,9993 ----
  #: config/rs6000/rs6000.opt:325
  #, no-c-format
  msgid "Generate unaligned VSX load/store for inline expansion of memcpy/memmove."
! msgstr "Genera carga/almacenamiento VSX desalineadas para expansión en línea de memcpy/memmove."
  
  #: config/rs6000/rs6000.opt:329
  #, no-c-format
  msgid "Generate unaligned VSX vector pair load/store for inline expansion of memcpy/memmove."
! msgstr "Genera carga/almacenamiento de parejas de vectores VSX desalineadas para expansión en línea de memcpy/memmove."
  
  #: config/rs6000/rs6000.opt:333
  #, no-c-format
*************** msgid "Max number of bytes to compare wi
*** 10094,10103 ****
  msgstr "El número máximo de bytes para comparar con bucles."
  
  #: config/rs6000/rs6000.opt:341
! #, fuzzy, no-c-format
! #| msgid "Max number of bytes to compare with loops."
  msgid "Max number of bytes to compare."
! msgstr "El número máximo de bytes para comparar con bucles."
  
  #: config/rs6000/rs6000.opt:345
  #, no-c-format
--- 10000,10008 ----
  msgstr "El número máximo de bytes para comparar con bucles."
  
  #: config/rs6000/rs6000.opt:341
! #, no-c-format
  msgid "Max number of bytes to compare."
! msgstr "El número máximo de bytes para comparar."
  
  #: config/rs6000/rs6000.opt:345
  #, no-c-format
*************** msgstr "No usa las extensiones de ABI Al
*** 10122,10134 ****
  #: config/rs6000/rs6000.opt:363
  #, no-c-format
  msgid "Use the AIX Vector Extended ABI."
! msgstr ""
  
  #: config/rs6000/rs6000.opt:367
! #, fuzzy, no-c-format
! #| msgid "Do not use the AltiVec ABI extensions."
  msgid "Do not use the AIX Vector Extended ABI."
! msgstr "No usa las extensiones de ABI AltiVec."
  
  #: config/rs6000/rs6000.opt:372
  #, no-c-format
--- 10027,10038 ----
  #: config/rs6000/rs6000.opt:363
  #, no-c-format
  msgid "Use the AIX Vector Extended ABI."
! msgstr "Utiliza la ABI extendida vectorial de AIX."
  
  #: config/rs6000/rs6000.opt:367
! #, no-c-format
  msgid "Do not use the AIX Vector Extended ABI."
! msgstr "No utiliza la ABI extendida vectorial de AIX."
  
  #: config/rs6000/rs6000.opt:372
  #, no-c-format
*************** msgid "Use vector and scalar instruction
*** 10221,10230 ****
  msgstr "Usa las instrucciones de vectores y escalares añadidas en ISA 2.07."
  
  #: config/rs6000/rs6000.opt:495
! #, fuzzy, no-c-format
! #| msgid "Fuse certain integer operations together for better performance on power8."
  msgid "Fuse certain integer operations together for better performance on power10."
! msgstr "Fusiona ciertas operaciones de enteros para un mejor rendimiento en power8."
  
  #: config/rs6000/rs6000.opt:499
  #, no-c-format
--- 10125,10133 ----
  msgstr "Usa las instrucciones de vectores y escalares añadidas en ISA 2.07."
  
  #: config/rs6000/rs6000.opt:495
! #, no-c-format
  msgid "Fuse certain integer operations together for better performance on power10."
! msgstr "Fusiona ciertas operaciones de enteros para un mejor rendimiento en power10."
  
  #: config/rs6000/rs6000.opt:499
  #, no-c-format
*************** msgid "Enable default conversions betwee
*** 10292,10388 ****
  msgstr "Activa las conversiones predefinidas entre __float128 y long double."
  
  #: config/rs6000/rs6000.opt:600
! #, fuzzy, no-c-format
! #| msgid "Generate the quad word memory instructions (lq/stq)."
  msgid "Generate (do not generate) prefixed memory instructions."
! msgstr "Genera instrucciones de memoria quad word (lq/stq)."
  
  #: config/rs6000/rs6000.opt:604
! #, fuzzy, no-c-format
! #| msgid "Do not generate unaligned memory accesses."
  msgid "Generate (do not generate) pc-relative memory addressing."
! msgstr "No genera accessos a memoria sin alinear"
  
  #: config/rs6000/rs6000.opt:608
! #, fuzzy, no-c-format
! #| msgid "Do not generate unaligned memory accesses."
  msgid "Generate (do not generate) pc-relative memory optimizations for externals."
! msgstr "No genera accessos a memoria sin alinear"
  
  #: config/rs6000/rs6000.opt:612
! #, fuzzy, no-c-format
! #| msgid "Generate the quad word memory instructions (lq/stq)."
  msgid "Generate (do not generate) MMA instructions."
! msgstr "Genera instrucciones de memoria quad word (lq/stq)."
  
  #: config/rs6000/rs6000.opt:619
  #, no-c-format
  msgid "Enable instructions that guard against return-oriented programming attacks."
! msgstr ""
  
  #: config/rs6000/rs6000.opt:623
! #, fuzzy, no-c-format
! #| msgid "Generate code in 32 bit ARM state."
  msgid "Generate code that will run in privileged state."
! msgstr "Genera código en el estado ARM de 32 bit."
  
  #: config/rs6000/rs6000.opt:627
! #, fuzzy, no-c-format
! #| msgid "Generate the quad word memory instructions (lq/stq)."
  msgid "Generate (do not generate) code that uses the XXSPLTIW instruction."
! msgstr "Genera instrucciones de memoria quad word (lq/stq)."
  
  #: config/rs6000/rs6000.opt:631
! #, fuzzy, no-c-format
! #| msgid "Generate the quad word memory instructions (lq/stq)."
  msgid "Generate (do not generate) code that uses the XXSPLTIDP instruction."
! msgstr "Genera instrucciones de memoria quad word (lq/stq)."
  
  #: config/rs6000/rs6000.opt:635
! #, fuzzy, no-c-format
! #| msgid "Generate the quad word memory instructions (lq/stq)."
  msgid "Generate (do not generate) code that uses the LXVKQ instruction."
! msgstr "Genera instrucciones de memoria quad word (lq/stq)."
  
  #: config/rs6000/rs6000.opt:641
  #, no-c-format
  msgid "Used to limit unroll factor which indicates how much the autovectorizer may unroll a loop.  The default value is 4."
! msgstr ""
  
  #: config/rs6000/rs6000.opt:647
  #, no-c-format
  msgid "When costing for loop vectorization, we probably need to penalize the loop body cost if the existing cost model may not adequately reflect delays from unavailable vector resources.  We collect the cost for vectorized statements and non-vectorized statements separately, check the proportion of vec_cost to total cost of vec_cost and non vec_cost, and penalize only if the proportion exceeds the threshold specified by this parameter.  The default value is 85."
! msgstr ""
  
  #: config/rs6000/rs6000.opt:656
  #, no-c-format
  msgid "Like parameter rs6000-density-pct-threshold, we also check the total sum of vec_cost and non vec_cost, and penalize only if the sum exceeds the threshold specified by this parameter.  The default value is 70."
! msgstr ""
  
  #: config/rs6000/rs6000.opt:662
  #, no-c-format
  msgid "When both heuristics with rs6000-density-pct-threshold and rs6000-density-size-threshold are satisfied, we decide to penalize the loop body cost by the value which is specified by this parameter.  The default value is 10."
! msgstr ""
  
  #: config/rs6000/rs6000.opt:669
  #, no-c-format
  msgid "When costing for loop vectorization, we probably need to penalize the loop body cost by accounting for excess strided or elementwise loads.  We collect the numbers for general statements and load statements according to the information for statements to be vectorized, check the proportion of load statements, and penalize only if the proportion exceeds the threshold specified by this parameter.  The default value is 45."
! msgstr ""
  
  #: config/rs6000/rs6000.opt:678
  #, no-c-format
  msgid "Like parameter rs6000-density-load-pct-threshold, we also check if the total number of load statements exceeds the threshold specified by this parameter, and penalize only if it's satisfied.  The default value is 20."
! msgstr ""
  
  #: config/rs6000/rs6000.opt:684 config/loongarch/loongarch.opt:306
  #, no-c-format
  msgid "Indicate how many non memory access vector instructions can be issued per cycle, it's used in unroll factor determination for autovectorizer.  The default value is 4."
! msgstr ""
  
  #: config/rs6000/rs6000.opt:690
  #, no-c-format
  msgid "When reduction factor computed for a loop exceeds the threshold specified by this parameter, prefer to unroll this loop.  The default value is 1."
! msgstr ""
  
  #: config/rs6000/sysv4.opt:24
  #, no-c-format
--- 10195,10283 ----
  msgstr "Activa las conversiones predefinidas entre __float128 y long double."
  
  #: config/rs6000/rs6000.opt:600
! #, no-c-format
  msgid "Generate (do not generate) prefixed memory instructions."
! msgstr "Genera (no genera) instrucciones de memoria prefijadas."
  
  #: config/rs6000/rs6000.opt:604
! #, no-c-format
  msgid "Generate (do not generate) pc-relative memory addressing."
! msgstr "Genera (no genera) direccionamiento de memoria relativo a pc."
  
  #: config/rs6000/rs6000.opt:608
! #, no-c-format
  msgid "Generate (do not generate) pc-relative memory optimizations for externals."
! msgstr "Genera (no genera) optimizaciones de memoria relativas a pc para externos."
  
  #: config/rs6000/rs6000.opt:612
! #, no-c-format
  msgid "Generate (do not generate) MMA instructions."
! msgstr "Genera (no genera) instrucciones MMA."
  
  #: config/rs6000/rs6000.opt:619
  #, no-c-format
  msgid "Enable instructions that guard against return-oriented programming attacks."
! msgstr "Habilita instrucciones que protegen de ataques de programación orientados a retorno."
  
  #: config/rs6000/rs6000.opt:623
! #, no-c-format
  msgid "Generate code that will run in privileged state."
! msgstr "Genera código correrá en estado privilegiado."
  
  #: config/rs6000/rs6000.opt:627
! #, no-c-format
  msgid "Generate (do not generate) code that uses the XXSPLTIW instruction."
! msgstr "Genera (no genera) que utiliza la instrucción XXSPLTIW."
  
  #: config/rs6000/rs6000.opt:631
! #, no-c-format
  msgid "Generate (do not generate) code that uses the XXSPLTIDP instruction."
! msgstr "Genera (no genera) que utiliza la instrucción XXSPLTIDP."
  
  #: config/rs6000/rs6000.opt:635
! #, no-c-format
  msgid "Generate (do not generate) code that uses the LXVKQ instruction."
! msgstr "Genera (no genera) que utiliza la instrucción LXVKQ."
  
  #: config/rs6000/rs6000.opt:641
  #, no-c-format
  msgid "Used to limit unroll factor which indicates how much the autovectorizer may unroll a loop.  The default value is 4."
! msgstr "Utilizado para limitar el factor de desenrollamiento que indica cuánto puede desenrrollar los bucles el autovectorizador.  El valor predefinido es 4."
  
  #: config/rs6000/rs6000.opt:647
  #, no-c-format
  msgid "When costing for loop vectorization, we probably need to penalize the loop body cost if the existing cost model may not adequately reflect delays from unavailable vector resources.  We collect the cost for vectorized statements and non-vectorized statements separately, check the proportion of vec_cost to total cost of vec_cost and non vec_cost, and penalize only if the proportion exceeds the threshold specified by this parameter.  The default value is 85."
! msgstr "Cuando se calcula el coste de vectorización de bucles, probablemente necesitemos penalizar el coste del cuerpo del bucle si el modelo de coste existente no puede reflejar adecuadamente los retardos causados por los recursos vectoriales no disponibles.  Recopilamos por separado el coste de sentencias vectorizadas y no vectorizadas, comprobamos la proporción de coste_vec frente al total del coste_vec y coste_no_vec, y penalizamos únicamente si la proporción sobrepasa el umbral especificado por este parámetro.  El valor predefinidos es 85."
  
  #: config/rs6000/rs6000.opt:656
  #, no-c-format
  msgid "Like parameter rs6000-density-pct-threshold, we also check the total sum of vec_cost and non vec_cost, and penalize only if the sum exceeds the threshold specified by this parameter.  The default value is 70."
! msgstr "Igual que el parámetro rs6000-density-pct-threshold, también comprobamos la suma total de coste_vec y coste_no_vec, y penalizamos únicamente si la suma sobrepasa el umbral especificado por este parámetro.  El valor predefinido es 70."
  
  #: config/rs6000/rs6000.opt:662
  #, no-c-format
  msgid "When both heuristics with rs6000-density-pct-threshold and rs6000-density-size-threshold are satisfied, we decide to penalize the loop body cost by the value which is specified by this parameter.  The default value is 10."
! msgstr "Cuando los heurísticos con rs6000-density-pct-threshold y rs6000-density-size-threshold se satisfacen ambos, decidimos penalizar el coste del cuerpo del bucle con el valor especificado por este parámetro.  El valor predefinido es 10."
  
  #: config/rs6000/rs6000.opt:669
  #, no-c-format
  msgid "When costing for loop vectorization, we probably need to penalize the loop body cost by accounting for excess strided or elementwise loads.  We collect the numbers for general statements and load statements according to the information for statements to be vectorized, check the proportion of load statements, and penalize only if the proportion exceeds the threshold specified by this parameter.  The default value is 45."
! msgstr "Cuando se calcula el coste de vectorización de bucles, probablemente necesitemos penalizar el coste del cuerpo del bucle contabilizando el exceso de cargas por pasos o por elementos.  Recopilamos el número de sentencias generales y el de sentencias de carga según la información sobre sentencias que se van a vectorizar, comprobamos la proporción de de sentencias de carga, y penalizamos únicamente si la proporción sobrepasa el umbral especificado por este parámetro.  El valor predefinidos es 45."
  
  #: config/rs6000/rs6000.opt:678
  #, no-c-format
  msgid "Like parameter rs6000-density-load-pct-threshold, we also check if the total number of load statements exceeds the threshold specified by this parameter, and penalize only if it's satisfied.  The default value is 20."
! msgstr "Igual que el parámetro rs6000-density-load-pct-threshold, también comprobamos si el número total de sentencias de carga sobrepasa el umbral especificado por este parámetro, y penalizamos únicamente si se satisface.  El valor predefinido es 20."
  
  #: config/rs6000/rs6000.opt:684 config/loongarch/loongarch.opt:306
  #, no-c-format
  msgid "Indicate how many non memory access vector instructions can be issued per cycle, it's used in unroll factor determination for autovectorizer.  The default value is 4."
! msgstr "Indica cuántas instrucciones vectoriales de acceso a memoria se pueden generar por ciclo; se utiliza para determinar el factor de desenrollamiento para el autovectorizador.  El valor predefinido es 4."
  
  #: config/rs6000/rs6000.opt:690
  #, no-c-format
  msgid "When reduction factor computed for a loop exceeds the threshold specified by this parameter, prefer to unroll this loop.  The default value is 1."
! msgstr "Cuando el factor de reducción calculado para un bucle sobrepasa el umbral especificado por este parámetro, es preferible desenrollar este bucle.  El valor predefinido es 1."
  
  #: config/rs6000/sysv4.opt:24
  #, no-c-format
*************** msgstr "Produce código big endian."
*** 10432,10441 ****
  #: config/rs6000/sysv4.opt:86 config/rs6000/sysv4.opt:90
  #: config/rs6000/sysv4.opt:99 config/rs6000/sysv4.opt:141
  #: config/rs6000/sysv4.opt:153
! #, fuzzy, no-c-format
! #| msgid "no description yet."
  msgid "No description yet."
! msgstr "sin descripción aún."
  
  #: config/rs6000/sysv4.opt:94
  #, no-c-format
--- 10327,10335 ----
  #: config/rs6000/sysv4.opt:86 config/rs6000/sysv4.opt:90
  #: config/rs6000/sysv4.opt:99 config/rs6000/sysv4.opt:141
  #: config/rs6000/sysv4.opt:153
! #, no-c-format
  msgid "No description yet."
! msgstr "Sin descripción aún."
  
  #: config/rs6000/sysv4.opt:94
  #, no-c-format
*************** msgstr "Activa las instrucciones definid
*** 10655,10672 ****
  #: config/loongarch/loongarch.opt:41
  #, no-c-format
  msgid "Basic ISAs of LoongArch:"
! msgstr ""
  
  #: config/loongarch/loongarch.opt:49
  #, no-c-format
  msgid "FPU types of LoongArch:"
! msgstr ""
  
  #: config/loongarch/loongarch.opt:62
! #, fuzzy, no-c-format
! #| msgid "-march=ISA\tGenerate code for the given ISA."
  msgid "-mfpu=FPU\tGenerate code for the given FPU."
! msgstr "-march=ISA\tGenera código para el ISA dado."
  
  #: config/loongarch/loongarch.opt:69 config/mips/mips.opt:398
  #, no-c-format
--- 10549,10565 ----
  #: config/loongarch/loongarch.opt:41
  #, no-c-format
  msgid "Basic ISAs of LoongArch:"
! msgstr "ISAs básicos de LoongArch:"
  
  #: config/loongarch/loongarch.opt:49
  #, no-c-format
  msgid "FPU types of LoongArch:"
! msgstr "Tipos de FPU de LoongArch:"
  
  #: config/loongarch/loongarch.opt:62
! #, no-c-format
  msgid "-mfpu=FPU\tGenerate code for the given FPU."
! msgstr "-mfpu=FPU\tGenera código para la FPU dada."
  
  #: config/loongarch/loongarch.opt:69 config/mips/mips.opt:398
  #, no-c-format
*************** msgstr "Permite que las instrucciones de
*** 10686,10741 ****
  #: config/loongarch/loongarch.opt:81
  #, no-c-format
  msgid "SIMD extension levels of LoongArch:"
! msgstr ""
  
  #: config/loongarch/loongarch.opt:94
! #, fuzzy, no-c-format
! #| msgid "-march=ISA\tGenerate code for the given ISA."
  msgid "-msimd=SIMD\tGenerate code for the given SIMD extension."
! msgstr "-march=ISA\tGenera código para el ISA dado."
  
  #: config/loongarch/loongarch.opt:98
  #, no-c-format
  msgid "Enable LoongArch SIMD Extension (LSX, 128-bit)."
! msgstr ""
  
  #: config/loongarch/loongarch.opt:102
  #, no-c-format
  msgid "Enable LoongArch Advanced SIMD Extension (LASX, 256-bit)."
! msgstr ""
  
  #: config/loongarch/loongarch.opt:107
  #, no-c-format
  msgid "LoongArch ARCH presets:"
! msgstr ""
  
  #: config/loongarch/loongarch.opt:132
! #, fuzzy, no-c-format
! #| msgid "-march=ISA\tGenerate code for the given ISA."
  msgid "-march=PROCESSOR\tGenerate code for the given PROCESSOR ISA."
! msgstr "-march=ISA\tGenera código para el ISA dado."
  
  #: config/loongarch/loongarch.opt:136
  #, no-c-format
  msgid "LoongArch TUNE presets:"
! msgstr ""
  
  #: config/loongarch/loongarch.opt:155
! #, fuzzy, no-c-format
! #| msgid "-mtune=PROCESSOR\tOptimize the output for PROCESSOR."
  msgid "-mtune=PROCESSOR\tGenerate optimized code for PROCESSOR."
! msgstr "-mtune=PROCESADOR\tOptimiza la salida para el PROCESADOR."
  
  #: config/loongarch/loongarch.opt:164
  #, no-c-format
  msgid "Base ABI types for LoongArch:"
! msgstr ""
  
  #: config/loongarch/loongarch.opt:177
! #, fuzzy, no-c-format
! #| msgid "-mabi=ABI\tGenerate code that conforms to the given ABI."
  msgid "-mabi=BASEABI\tGenerate code that conforms to the given BASEABI."
! msgstr "-mabi=ABI\tGenera código que cumpla con la ABI dada."
  
  #: config/loongarch/loongarch.opt:186 config/mips/mips.opt:71
  #, no-c-format
--- 10579,10630 ----
  #: config/loongarch/loongarch.opt:81
  #, no-c-format
  msgid "SIMD extension levels of LoongArch:"
! msgstr "Niveles de extensión SIMD de LoongArch:"
  
  #: config/loongarch/loongarch.opt:94
! #, no-c-format
  msgid "-msimd=SIMD\tGenerate code for the given SIMD extension."
! msgstr "-msimd=SIMD\tGenera código para la extensión SIMD dada."
  
  #: config/loongarch/loongarch.opt:98
  #, no-c-format
  msgid "Enable LoongArch SIMD Extension (LSX, 128-bit)."
! msgstr "Habilita la Extensión SIMD de LongArch (LSX, 128 bits)."
  
  #: config/loongarch/loongarch.opt:102
  #, no-c-format
  msgid "Enable LoongArch Advanced SIMD Extension (LASX, 256-bit)."
! msgstr "Habilita la Extensión SIMD Avanzada de LongArch (LASX, 256 bits)."
  
  #: config/loongarch/loongarch.opt:107
  #, no-c-format
  msgid "LoongArch ARCH presets:"
! msgstr "Configuración predefinida de ARCH de LoongArch:"
  
  #: config/loongarch/loongarch.opt:132
! #, no-c-format
  msgid "-march=PROCESSOR\tGenerate code for the given PROCESSOR ISA."
! msgstr "-march=PROCESADOR\tGenera código para el ISA del PROCESADOR dado."
  
  #: config/loongarch/loongarch.opt:136
  #, no-c-format
  msgid "LoongArch TUNE presets:"
! msgstr "Configuración predefinida de TUNE de LoongArch:"
  
  #: config/loongarch/loongarch.opt:155
! #, no-c-format
  msgid "-mtune=PROCESSOR\tGenerate optimized code for PROCESSOR."
! msgstr "-mtune=PROCESADOR\tGenera código optimizado para el PROCESADOR."
  
  #: config/loongarch/loongarch.opt:164
  #, no-c-format
  msgid "Base ABI types for LoongArch:"
! msgstr "Tipos de ABI base para LoongArch:"
  
  #: config/loongarch/loongarch.opt:177
! #, no-c-format
  msgid "-mabi=BASEABI\tGenerate code that conforms to the given BASEABI."
! msgstr "-mabi=ABIBASE\tGenera código que cumpla con la ABIBASE dada."
  
  #: config/loongarch/loongarch.opt:186 config/mips/mips.opt:71
  #, no-c-format
*************** msgstr "-mbranch-cost=COSTO\tEstablece e
*** 10745,10751 ****
  #: config/loongarch/loongarch.opt:190
  #, no-c-format
  msgid "-maddr-reg-reg-cost=COST  Set the cost of ADDRESS_REG_REG to the value calculated by COST."
! msgstr ""
  
  #: config/loongarch/loongarch.opt:194 config/mips/mips.opt:83
  #, no-c-format
--- 10634,10640 ----
  #: config/loongarch/loongarch.opt:190
  #, no-c-format
  msgid "-maddr-reg-reg-cost=COST  Set the cost of ADDRESS_REG_REG to the value calculated by COST."
! msgstr "-maddr-reg-reg-cost=COSTE  Establece el coste de ADDRESS_REG_REG en el valor calculado por COSTE."
  
  #: config/loongarch/loongarch.opt:194 config/mips/mips.opt:83
  #, no-c-format
*************** msgstr "Atrapa la división entera por c
*** 10755,10844 ****
  #: config/loongarch/loongarch.opt:198
  #, no-c-format
  msgid "Conditional moves for integral are enabled."
! msgstr ""
  
  #: config/loongarch/loongarch.opt:202
  #, no-c-format
  msgid "Conditional moves for float are enabled."
! msgstr ""
  
  #: config/loongarch/loongarch.opt:206
  #, no-c-format
  msgid "Prevent optimizing block moves, which is also the default behavior of -Os."
! msgstr ""
  
  #: config/loongarch/loongarch.opt:214
  #, no-c-format
  msgid "-mmax-inline-memcpy-size=SIZE\tSet the max size of memcpy to inline, default is 1024."
! msgstr ""
  
  #: config/loongarch/loongarch.opt:218 config/mips/mips.opt:150
! #, fuzzy, no-c-format
! #| msgid "The code model option names for -mcmodel:"
  msgid "The code model option names for -mexplicit-relocs:"
! msgstr "Los nombres de las opciones de modelos de código para -mcmodel:"
  
  #: config/loongarch/loongarch.opt:231 config/mips/mips.opt:163
! #, fuzzy, no-c-format
! #| msgid "Use NewABI-style %reloc() assembly operators."
  msgid "Use %reloc() assembly operators."
! msgstr "Usa los operadores de ensamblador %reloc() del estilo NewABI."
  
  #: config/loongarch/loongarch.opt:235 config/mips/mips.opt:167
! #, fuzzy, no-c-format
! #| msgid "Only retained for backward compatibility."
  msgid "Use %reloc() assembly operators (for backward compatibility)."
! msgstr "Preservado por compatibilidad hacia atrás."
  
  #: config/loongarch/loongarch.opt:243
! #, fuzzy, no-c-format
! #| msgid "Generate software reciprocal divide and square root for better throughput."
  msgid "Generate approximate reciprocal divide and square root for better throughput."
! msgstr "Genera división recíproca y raíz cuadrada de software para mejor salida."
  
  #: config/loongarch/loongarch.opt:274
  #, no-c-format
  msgid "Avoid using the GOT to access external symbols."
! msgstr ""
  
  #: config/loongarch/loongarch.opt:283
! #, fuzzy, no-c-format
! #| msgid "Enable relaxing in the assembler."
  msgid "Pass -mrelax or -mno-relax option to the assembler."
! msgstr "Activar la relajación en el ensamblador."
  
  #: config/loongarch/loongarch.opt:301
  #, no-c-format
  msgid "Used to limit unroll factor which indicates how much the autovectorizer may unroll a loop.  The default value is 6."
! msgstr ""
  
  #: config/loongarch/loongarch.opt:319
  #, no-c-format
  msgid "Annotate table jump instruction (jr {reg}) to correlate it with the jump table."
! msgstr ""
  
  #: config/loongarch/loongarch.opt:323
! #, fuzzy, no-c-format
! #| msgid "Support code generation of crc32 instruction."
  msgid "Support frecipe.{s/d} and frsqrte.{s/d} instructions."
! msgstr "Admite la generación de código de la instrucción crc32."
  
  #: config/loongarch/loongarch.opt:327
  #, no-c-format
  msgid "Support div.w[u] and mod.w[u] instructions with inputs not sign-extended."
! msgstr ""
  
  #: config/loongarch/loongarch.opt:331
! #, fuzzy, no-c-format
! #| msgid "Support XSAVEC instructions."
  msgid "Support am{swap/add}[_db].{b/h} instructions."
! msgstr "Admite las instrucciones XSAVEC."
  
  #: config/loongarch/loongarch.opt:335
! #, fuzzy, no-c-format
! #| msgid "Support XSAVEC instructions."
  msgid "Support amcas[_db].{b/h/w/d} instructions."
! msgstr "Admite las instrucciones XSAVEC."
  
  #: config/loongarch/loongarch.opt:339
  #, no-c-format
--- 10644,10725 ----
  #: config/loongarch/loongarch.opt:198
  #, no-c-format
  msgid "Conditional moves for integral are enabled."
! msgstr "Los movimientos condicionales para enteros están habilitados."
  
  #: config/loongarch/loongarch.opt:202
  #, no-c-format
  msgid "Conditional moves for float are enabled."
! msgstr "Los movimientos condicionales para coma flotante están habilitados."
  
  #: config/loongarch/loongarch.opt:206
  #, no-c-format
  msgid "Prevent optimizing block moves, which is also the default behavior of -Os."
! msgstr "Evita optimizar movimientos de bloques, que es también el comportamiento predefinido de -Os."
  
  #: config/loongarch/loongarch.opt:214
  #, no-c-format
  msgid "-mmax-inline-memcpy-size=SIZE\tSet the max size of memcpy to inline, default is 1024."
! msgstr "-mmax-inline-memcpy-size=TAMAÑO\tEstablece el tamaño máximo de memcpy para en línea; predefinido a 1024."
  
  #: config/loongarch/loongarch.opt:218 config/mips/mips.opt:150
! #, no-c-format
  msgid "The code model option names for -mexplicit-relocs:"
! msgstr "Los nombres de las opciones de modelos de código para -mexplicit-relocs:"
  
  #: config/loongarch/loongarch.opt:231 config/mips/mips.opt:163
! #, no-c-format
  msgid "Use %reloc() assembly operators."
! msgstr "Usa los operadores de ensamblador %reloc()."
  
  #: config/loongarch/loongarch.opt:235 config/mips/mips.opt:167
! #, no-c-format
  msgid "Use %reloc() assembly operators (for backward compatibility)."
! msgstr "Usa los operadores de ensamblador %reloc() (para compatibilidad hacia atrás)."
  
  #: config/loongarch/loongarch.opt:243
! #, no-c-format
  msgid "Generate approximate reciprocal divide and square root for better throughput."
! msgstr "Genera división recíproca y raíz cuadrada de software aproximandas para mejor rendimiento."
  
  #: config/loongarch/loongarch.opt:274
  #, no-c-format
  msgid "Avoid using the GOT to access external symbols."
! msgstr "Evita utilizar el GOT para acceder a símbolos externos."
  
  #: config/loongarch/loongarch.opt:283
! #, no-c-format
  msgid "Pass -mrelax or -mno-relax option to the assembler."
! msgstr "Pasa la opción -mrelax o -mno-relax al ensamblador."
  
  #: config/loongarch/loongarch.opt:301
  #, no-c-format
  msgid "Used to limit unroll factor which indicates how much the autovectorizer may unroll a loop.  The default value is 6."
! msgstr "Utilizado para limitar el factor de desenrollamiento que indica cuánto puede desenrollar los bucles el autovectorizador.  El valor predefinido es 6."
  
  #: config/loongarch/loongarch.opt:319
  #, no-c-format
  msgid "Annotate table jump instruction (jr {reg}) to correlate it with the jump table."
! msgstr "Anota la instrucción de salto en tabla (jr {reg}) para correlarla con la tabla de saltos."
  
  #: config/loongarch/loongarch.opt:323
! #, no-c-format
  msgid "Support frecipe.{s/d} and frsqrte.{s/d} instructions."
! msgstr "Admite las instrucciones frecipe.{s/d} y frsqrte.{s/d}."
  
  #: config/loongarch/loongarch.opt:327
  #, no-c-format
  msgid "Support div.w[u] and mod.w[u] instructions with inputs not sign-extended."
! msgstr "Admite las instrucciones div.w[u] y mod.w[u] con entradas no extendidas con signo."
  
  #: config/loongarch/loongarch.opt:331
! #, no-c-format
  msgid "Support am{swap/add}[_db].{b/h} instructions."
! msgstr "Admite las instrucciones am{swap/add}[_db].{b/h}."
  
  #: config/loongarch/loongarch.opt:335
! #, no-c-format
  msgid "Support amcas[_db].{b/h/w/d} instructions."
! msgstr "Admite las instrucciones amcas[_db].{b/h/w/d}."
  
  #: config/loongarch/loongarch.opt:339
  #, no-c-format
*************** msgstr ""
*** 10858,10909 ****
  #: config/or1k/or1k.opt:29
  #, no-c-format
  msgid "Enable generation of hardware divide (l.div, l.divu) instructions.  This is the default; use -msoft-div to override."
! msgstr ""
  
  #: config/or1k/or1k.opt:34
  #, no-c-format
  msgid "Enable generation of binaries which use functions from libgcc to perform divide operations.  The default is -mhard-div."
! msgstr ""
  
  #: config/or1k/or1k.opt:39
  #, no-c-format
  msgid "Enable generation of hardware multiply instructions (l.mul, l.muli) instructions. This is the default; use -msoft-mul to override."
! msgstr ""
  
  #: config/or1k/or1k.opt:44
  #, no-c-format
  msgid "Enable generation of binaries which use functions from libgcc to perform multiply operations. The default is -mhard-mul."
! msgstr ""
  
  #: config/or1k/or1k.opt:49
  #, no-c-format
  msgid "Enable generation of binaries which use functions from libgcc to perform floating point operations.  This is the default; use -mhard-float to override."
! msgstr ""
  
  #: config/or1k/or1k.opt:54
! #, fuzzy, no-c-format
! #| msgid "Use hardware floating point instructions."
  msgid "Enable generation of hardware floating point instructions. The default is -msoft-float."
! msgstr "Usa instrucciones de coma flotante por hardware."
  
  #: config/or1k/or1k.opt:59
  #, no-c-format
  msgid "When -mhard-float is selected, enables generation of double-precision floating point instructions.  By default functions from libgcc are used to perform double-precision floating point operations."
! msgstr ""
  
  #: config/or1k/or1k.opt:65
  #, no-c-format
  msgid "When -mhard-float is selected, enables generation of unordered floating point compare and set flag (lf.sfun*) instructions.  By default functions from libgcc are used to perform unordered floating point compare and set flag operations."
! msgstr ""
  
  #: config/or1k/or1k.opt:71
  #, no-c-format
  msgid "Specify the code model used for accessing memory addresses.  Specifying large enables generating binaries with large global offset tables.  By default the value is small."
! msgstr ""
  
  #: config/or1k/or1k.opt:77
! #, fuzzy, no-c-format
! #| msgid "Known cmodel types (for use with the -mcmodel= option):"
  msgid "Known code model types (for use with the -mcmodel= option):"
  msgstr "Tipos de modelos de código conocidos (para uso con la opción -mcmodel=):"
  
--- 10739,10788 ----
  #: config/or1k/or1k.opt:29
  #, no-c-format
  msgid "Enable generation of hardware divide (l.div, l.divu) instructions.  This is the default; use -msoft-div to override."
! msgstr "Habilita la generación de instrucciones de dividir por hardware (l.div, l.divu).  Es lo predeterminado; utilice -msoft-div para alterarlo."
  
  #: config/or1k/or1k.opt:34
  #, no-c-format
  msgid "Enable generation of binaries which use functions from libgcc to perform divide operations.  The default is -mhard-div."
! msgstr "Habilita la generación de binarios que utilizan las funciones de libgcc para realizar operaciones de dividir.  Lo predeterminado es -mhard-div."
  
  #: config/or1k/or1k.opt:39
  #, no-c-format
  msgid "Enable generation of hardware multiply instructions (l.mul, l.muli) instructions. This is the default; use -msoft-mul to override."
! msgstr "Habilita la generación de instrucciones de multiplicar por hardware (l.mul, l.muli).  Es lo predeterminado; utilice -msoft-mul para alterarlo."
  
  #: config/or1k/or1k.opt:44
  #, no-c-format
  msgid "Enable generation of binaries which use functions from libgcc to perform multiply operations. The default is -mhard-mul."
! msgstr "Habilita la generación de binarios que utilizan las funciones de libgcc para realizar operaciones de multiplicar.  Lo predeterminado es -mhard-mul."
  
  #: config/or1k/or1k.opt:49
  #, no-c-format
  msgid "Enable generation of binaries which use functions from libgcc to perform floating point operations.  This is the default; use -mhard-float to override."
! msgstr "Habilita la generación de binarios que utilizan las funciones de libgcc para realizar operaciones de coma flotante.  Es lo predeterminado utilice -mhard-float para alterarlo."
  
  #: config/or1k/or1k.opt:54
! #, no-c-format
  msgid "Enable generation of hardware floating point instructions. The default is -msoft-float."
! msgstr "Habilita la generación de instrucciones de coma flotante por hardware. Lo predeterminado es -msoft-float."
  
  #: config/or1k/or1k.opt:59
  #, no-c-format
  msgid "When -mhard-float is selected, enables generation of double-precision floating point instructions.  By default functions from libgcc are used to perform double-precision floating point operations."
! msgstr "Cuando se selecciona -mhard-float, habilita la generación de instrucciones de coma flotante de precisión doble.  Lo predeterminado es utilizar funciones de libgcc para realizar operaciones de coma flotante de precisión doble."
  
  #: config/or1k/or1k.opt:65
  #, no-c-format
  msgid "When -mhard-float is selected, enables generation of unordered floating point compare and set flag (lf.sfun*) instructions.  By default functions from libgcc are used to perform unordered floating point compare and set flag operations."
! msgstr "Cuando se selecciona -mhard-float, habilita la generación de instrucciones de comparación de coma flotante sin orden y de poner banderas (lf.sfun*) de precisión doble.  Lo predeterminado es utilizar funciones de libgcc para realizar operaciones de coma flotante de precisión doble."
  
  #: config/or1k/or1k.opt:71
  #, no-c-format
  msgid "Specify the code model used for accessing memory addresses.  Specifying large enables generating binaries with large global offset tables.  By default the value is small."
! msgstr "Especifica el modelo de código utilizado para acceder a direcciones de memoria.  Especificando «large» (grande) se habilita la generación de binarios con tablas de desplazamiento global grande.  El valor predeterminado es «small» (pequeño)."
  
  #: config/or1k/or1k.opt:77
! #, no-c-format
  msgid "Known code model types (for use with the -mcmodel= option):"
  msgstr "Tipos de modelos de código conocidos (para uso con la opción -mcmodel=):"
  
*************** msgstr ""
*** 10915,10945 ****
  #: config/or1k/or1k.opt:92
  #, no-c-format
  msgid "Enable generation of rotate right (l.ror) instructions.  By default functions from libgcc are used to perform rotate right operations."
! msgstr ""
  
  #: config/or1k/or1k.opt:97
  #, no-c-format
  msgid "Enable generation of rotate right with immediate (l.rori) instructions.  By default functions from libgcc are used to perform rotate right with immediate operations."
! msgstr ""
  
  #: config/or1k/or1k.opt:103
  #, no-c-format
  msgid "Enable generation of sign extension (l.ext*) instructions.  By default memory loads are used to perform sign extension."
! msgstr ""
  
  #: config/or1k/or1k.opt:108
  #, no-c-format
  msgid "Enable generation of compare and set flag with immediate (l.sf*i) instructions. By default extra instructions will be generated to store the immediate to a register first."
! msgstr ""
  
  #: config/or1k/or1k.opt:114
  #, no-c-format
  msgid "Enable generation of shift with immediate (l.srai, l.srli, l.slli) instructions. By default extra instructions will be generated to store the immediate to a register first."
! msgstr ""
  
  #: config/rx/elf.opt:32
! #, fuzzy, no-c-format
! #| msgid "Generate assembler output that is compatible with the Renesas AS100 assembler.  This may restrict some of the compiler's capabilities.  The default is to generate GAS compatible syntax."
  msgid "Generate assembler output that is compatible with the Renesas AS100 assembler.  This may restrict some of the compiler's capabilities.  The default is to generate GAS compatible syntax."
  msgstr "Genera salida de ensamblador que es compatible con el ensamblador AS100 de Renesas.  Esto puede restringir algunas de las capacidades del compilador.  Por defecto se genera sintaxis compatible con GAS."
  
--- 10794,10823 ----
  #: config/or1k/or1k.opt:92
  #, no-c-format
  msgid "Enable generation of rotate right (l.ror) instructions.  By default functions from libgcc are used to perform rotate right operations."
! msgstr "Habilita la generación de instrucciones de rotación derecha (l.ror).  Lo predeterminado es usar funciones de libgcc para hacer operaciones de rotación derecha."
  
  #: config/or1k/or1k.opt:97
  #, no-c-format
  msgid "Enable generation of rotate right with immediate (l.rori) instructions.  By default functions from libgcc are used to perform rotate right with immediate operations."
! msgstr "Habilita la generación de instrucciones de rotación derecha con inmediato (l.rori).  Lo predeterminado es usar funciones de libgcc para hacer operaciones de rotación derecha con inmediato."
  
  #: config/or1k/or1k.opt:103
  #, no-c-format
  msgid "Enable generation of sign extension (l.ext*) instructions.  By default memory loads are used to perform sign extension."
! msgstr "Habilita la generación de instrucciones de extensión de signo (l.ext*).  Lo predeterminado es usar cargas de memoria para hacer extensiones de signo."
  
  #: config/or1k/or1k.opt:108
  #, no-c-format
  msgid "Enable generation of compare and set flag with immediate (l.sf*i) instructions. By default extra instructions will be generated to store the immediate to a register first."
! msgstr "Habilita la generación de instrucciones de comparar y poner banderas con inmediato (l.sf*i).  Lo predeterminado es generar instrucciones extra para almacenar primero el inmediato en un registro."
  
  #: config/or1k/or1k.opt:114
  #, no-c-format
  msgid "Enable generation of shift with immediate (l.srai, l.srli, l.slli) instructions. By default extra instructions will be generated to store the immediate to a register first."
! msgstr "Habilita la generación de instrucciones de desplazamiento con inmediato (l.srai, l.srli, l.slli).  Lo predeterminado es generar instrucciones extra para almacenar primero el inmediato en un registro."
  
  #: config/rx/elf.opt:32
! #, no-c-format
  msgid "Generate assembler output that is compatible with the Renesas AS100 assembler.  This may restrict some of the compiler's capabilities.  The default is to generate GAS compatible syntax."
  msgstr "Genera salida de ensamblador que es compatible con el ensamblador AS100 de Renesas.  Esto puede restringir algunas de las capacidades del compilador.  Por defecto se genera sintaxis compatible con GAS."
  
*************** msgid "Stores doubles in 32 bits.  This
*** 10964,10973 ****
  msgstr "Almacena dobles en 32 bits.  Este es el valor por defecto."
  
  #: config/rx/rx.opt:37
! #, fuzzy, no-c-format
! #| msgid "Disable the use of RX FPU instructions.  "
  msgid "Disable the use of RX FPU instructions."
! msgstr "Desactiva el uso de las instrucciones de FPU RX.  "
  
  #: config/rx/rx.opt:44
  #, no-c-format
--- 10842,10850 ----
  msgstr "Almacena dobles en 32 bits.  Este es el valor por defecto."
  
  #: config/rx/rx.opt:37
! #, no-c-format
  msgid "Disable the use of RX FPU instructions."
! msgstr "Desactiva el uso de las instrucciones de FPU RX."
  
  #: config/rx/rx.opt:44
  #, no-c-format
*************** msgid "Description for mxl-mode-novector
*** 11190,11214 ****
  msgstr "Descripción para mxl-mode-novectors."
  
  #: config/microblaze/microblaze.opt:128
! #, fuzzy, no-c-format
! #| msgid "Use hardware prefetch instruction"
  msgid "Use hardware prefetch instruction."
! msgstr "Usa instrucciones de precargado de hardware"
  
  #: config/microblaze/microblaze.opt:132
  #, no-c-format
  msgid "Data referenced by offset from start of text instead of GOT (with -fPIC/-fPIE)."
! msgstr ""
  
  #: config/vax/vax.opt:23 config/vax/vax.opt:27
! #, fuzzy, no-c-format
! #| msgid "Generate GFLOAT double precision code."
  msgid "Generate DFLOAT double-precision code."
! msgstr "Genera código GFLOAT de doble precisión."
  
  #: config/vax/vax.opt:31 config/vax/vax.opt:35
! #, fuzzy, no-c-format
! #| msgid "Generate GFLOAT double precision code."
  msgid "Generate GFLOAT double-precision code."
  msgstr "Genera código GFLOAT de doble precisión."
  
--- 11067,11088 ----
  msgstr "Descripción para mxl-mode-novectors."
  
  #: config/microblaze/microblaze.opt:128
! #, no-c-format
  msgid "Use hardware prefetch instruction."
! msgstr "Usa instrucción de precargado de hardware."
  
  #: config/microblaze/microblaze.opt:132
  #, no-c-format
  msgid "Data referenced by offset from start of text instead of GOT (with -fPIC/-fPIE)."
! msgstr "Datos referenciados por desplazamiento desde el comienzo del texto en lugar de GOT (con -fPIC/-fPIE)."
  
  #: config/vax/vax.opt:23 config/vax/vax.opt:27
! #, no-c-format
  msgid "Generate DFLOAT double-precision code."
! msgstr "Genera código DFLOAT de doble precisión."
  
  #: config/vax/vax.opt:31 config/vax/vax.opt:35
! #, no-c-format
  msgid "Generate GFLOAT double-precision code."
  msgstr "Genera código GFLOAT de doble precisión."
  
*************** msgid "Generate code in little-endian mo
*** 11478,11493 ****
  msgstr "Genera código en modo little endian."
  
  #: config/nds32/nds32.opt:37
! #, fuzzy, no-c-format
! #| msgid "Perform cross-jumping optimization."
  msgid "Force performing fp-as-gp optimization."
! msgstr "Realiza optimizaciones de saltos cruzados."
  
  #: config/nds32/nds32.opt:41
! #, fuzzy, no-c-format
! #| msgid "Perform cross-jumping optimization."
  msgid "Forbid performing fp-as-gp optimization."
! msgstr "Realiza optimizaciones de saltos cruzados."
  
  #: config/nds32/nds32.opt:47
  #, no-c-format
--- 11352,11365 ----
  msgstr "Genera código en modo little endian."
  
  #: config/nds32/nds32.opt:37
! #, no-c-format
  msgid "Force performing fp-as-gp optimization."
! msgstr "Fuerza optimización fp-as-gp."
  
  #: config/nds32/nds32.opt:41
! #, no-c-format
  msgid "Forbid performing fp-as-gp optimization."
! msgstr "Prohibe optimización fp-as-gp."
  
  #: config/nds32/nds32.opt:47
  #, no-c-format
*************** msgid "Always align function entry, jump
*** 11520,11551 ****
  msgstr ""
  
  #: config/nds32/nds32.opt:85
! #, fuzzy, no-c-format
! #| msgid "Use alternate leaf function entries"
  msgid "Align function entry to 4 byte."
! msgstr "Usar entradas de función hojas alternadas"
  
  #: config/nds32/nds32.opt:97
  #, no-c-format
  msgid "Prevent $fp being allocated during register allocation so that compiler is able to force performing fp-as-gp optimization."
! msgstr ""
  
  #: config/nds32/nds32.opt:101
  #, no-c-format
  msgid "Forbid using $fp to access static and global variables.  This option strictly forbids fp-as-gp optimization regardless of '-mforce-fp-as-gp'."
! msgstr ""
  
  #: config/nds32/nds32.opt:105
! #, fuzzy, no-c-format
! #| msgid "Specify the address generation strategy for code model."
  msgid "Specify the address generation strategy for ICT call's code model."
! msgstr "Especifica la estrategia de generación de direcciones para modelo de código."
  
  #: config/nds32/nds32.opt:109
! #, fuzzy, no-c-format
! #| msgid "Known cmodel types (for use with the -mcmodel= option):"
  msgid "Known cmodel types (for use with the -mict-model= option):"
! msgstr "Tipos de modelos de código conocidos (para uso con la opción -mcmodel=):"
  
  #: config/nds32/nds32.opt:119
  #, no-c-format
--- 11392,11420 ----
  msgstr ""
  
  #: config/nds32/nds32.opt:85
! #, no-c-format
  msgid "Align function entry to 4 byte."
! msgstr "Alinea la entrada de función a 4 bytes"
  
  #: config/nds32/nds32.opt:97
  #, no-c-format
  msgid "Prevent $fp being allocated during register allocation so that compiler is able to force performing fp-as-gp optimization."
! msgstr "Evita que $fp sea reservado durante la reserva de registros, de modo que el compilador pueda forzar optimización fp-as-gp."
  
  #: config/nds32/nds32.opt:101
  #, no-c-format
  msgid "Forbid using $fp to access static and global variables.  This option strictly forbids fp-as-gp optimization regardless of '-mforce-fp-as-gp'."
! msgstr "Prohíbe usar $fp para acceder a variables estáticas y globales.  Esta opción prohíbe estrictamente la optimización fp-as-gp independientemente de '-mforce-fp-as-gp'."
  
  #: config/nds32/nds32.opt:105
! #, no-c-format
  msgid "Specify the address generation strategy for ICT call's code model."
! msgstr "Especifica la estrategia de generación de direcciones para el modelo de código de llamada ICT."
  
  #: config/nds32/nds32.opt:109
! #, no-c-format
  msgid "Known cmodel types (for use with the -mict-model= option):"
! msgstr "Tipos de modelos de código conocidos (para uso con la opción -mict-model=):"
  
  #: config/nds32/nds32.opt:119
  #, no-c-format
*************** msgid "Generate conditional move instruc
*** 11553,11562 ****
  msgstr "Genera instrucciones move condicionales."
  
  #: config/nds32/nds32.opt:123
! #, fuzzy, no-c-format
! #| msgid "Generate bit instructions."
  msgid "Generate hardware abs instructions."
! msgstr "Genera instrucciones de bit."
  
  #: config/nds32/nds32.opt:127
  #, no-c-format
--- 11422,11430 ----
  msgstr "Genera instrucciones move condicionales."
  
  #: config/nds32/nds32.opt:123
! #, no-c-format
  msgid "Generate hardware abs instructions."
! msgstr "Genera instrucciones abs hardware."
  
  #: config/nds32/nds32.opt:127
  #, no-c-format
*************** msgid "Generate string extension instruc
*** 11574,11583 ****
  msgstr "Genera instrucciones de extensión de cadenas."
  
  #: config/nds32/nds32.opt:139
! #, fuzzy, no-c-format
! #| msgid "Generate string extension instructions."
  msgid "Generate DSP extension instructions."
! msgstr "Genera instrucciones de extensión de cadenas."
  
  #: config/nds32/nds32.opt:143
  #, no-c-format
--- 11442,11450 ----
  msgstr "Genera instrucciones de extensión de cadenas."
  
  #: config/nds32/nds32.opt:139
! #, no-c-format
  msgid "Generate DSP extension instructions."
! msgstr "Genera instrucciones de extensión de cadenas DSP."
  
  #: config/nds32/nds32.opt:143
  #, no-c-format
*************** msgstr "Genera instrucciones de 16 bits.
*** 11592,11598 ****
  #: config/nds32/nds32.opt:151
  #, no-c-format
  msgid "Insert relax hint for linker to do relaxation."
! msgstr ""
  
  #: config/nds32/nds32.opt:155
  #, no-c-format
--- 11459,11465 ----
  #: config/nds32/nds32.opt:151
  #, no-c-format
  msgid "Insert relax hint for linker to do relaxation."
! msgstr "Inserta pista de relajación para que el enlazador haga relajación."
  
  #: config/nds32/nds32.opt:155
  #, no-c-format
*************** msgid "Specify the size of each interrup
*** 11605,11614 ****
  msgstr "Especifica el tamaño de cada vector de interrupciones, que ha de ser 4 o 16."
  
  #: config/nds32/nds32.opt:163
! #, fuzzy, no-c-format
! #| msgid "Specify the memory model in effect for the program."
  msgid "Specify the security level of c-isr for the whole file."
! msgstr "Especifica el modelo de memoria en efecto para el programa."
  
  #: config/nds32/nds32.opt:167
  #, no-c-format
--- 11472,11480 ----
  msgstr "Especifica el tamaño de cada vector de interrupciones, que ha de ser 4 o 16."
  
  #: config/nds32/nds32.opt:163
! #, no-c-format
  msgid "Specify the security level of c-isr for the whole file."
! msgstr "Especifica el nivel de seguridad de c-isr para todo el fichero."
  
  #: config/nds32/nds32.opt:167
  #, no-c-format
*************** msgid "Guide linker to relax instruction
*** 11661,11670 ****
  msgstr "Guía al enlazador para que relaje las instrucciones."
  
  #: config/nds32/nds32.opt:433
! #, fuzzy, no-c-format
! #| msgid "Generate floating point mathematics using given instruction set."
  msgid "Generate floating-point multiply-accumulation instructions."
! msgstr "Genera matemáticas de coma flotante usando el conjunto de instrucciones dado."
  
  #: config/nds32/nds32.opt:437
  #, no-c-format
--- 11527,11535 ----
  msgstr "Guía al enlazador para que relaje las instrucciones."
  
  #: config/nds32/nds32.opt:433
! #, no-c-format
  msgid "Generate floating-point multiply-accumulation instructions."
! msgstr "Genera instrucciones de multiplicar-acumular de coma flotante."
  
  #: config/nds32/nds32.opt:437
  #, no-c-format
*************** msgid "Force disable hardware loop, even
*** 11682,11697 ****
  msgstr ""
  
  #: config/nds32/nds32.opt:449
! #, fuzzy, no-c-format
! #| msgid "Permit scheduling of a function's prologue sequence."
  msgid "Permit scheduling of a function's prologue and epilogue sequence."
! msgstr "Permite la planificación de la secuencia de prólogo de funciones."
  
  #: config/nds32/nds32.opt:453
! #, fuzzy, no-c-format
! #| msgid "Generate cld instruction in the function prologue."
  msgid "Generate return instruction in naked function."
! msgstr "Genera la instrucción cld en el prólogo de función."
  
  #: config/nds32/nds32.opt:457
  #, no-c-format
--- 11547,11560 ----
  msgstr ""
  
  #: config/nds32/nds32.opt:449
! #, no-c-format
  msgid "Permit scheduling of a function's prologue and epilogue sequence."
! msgstr "Permite la planificación de la secuencia de prólogo y epílogo de funciones."
  
  #: config/nds32/nds32.opt:453
! #, no-c-format
  msgid "Generate return instruction in naked function."
! msgstr "Genera instrucción de retorno en función desnuda."
  
  #: config/nds32/nds32.opt:457
  #, no-c-format
*************** msgstr "Siempre guarda $lp en la pila."
*** 11701,11707 ****
  #: config/nds32/nds32.opt:465
  #, no-c-format
  msgid "Allow use r15 for inline ASM."
! msgstr ""
  
  #: config/iq2000/iq2000.opt:31
  #, no-c-format
--- 11564,11570 ----
  #: config/nds32/nds32.opt:465
  #, no-c-format
  msgid "Allow use r15 for inline ASM."
! msgstr "Permite usar r15 para ASM en línea."
  
  #: config/iq2000/iq2000.opt:31
  #, no-c-format
*************** msgid "Put uninitialized constants in RO
*** 11734,11743 ****
  msgstr "Pone las constantes sin inicializar en ROM (necesita -membedded-data)."
  
  #: config/csky/csky.opt:34
! #, fuzzy, no-c-format
! #| msgid "Specify the name of the target architecture."
  msgid "Specify the target architecture."
! msgstr "Especifica el nombre de la arquitectura destino."
  
  #: config/csky/csky.opt:38
  #, fuzzy, no-c-format
--- 11597,11605 ----
  msgstr "Pone las constantes sin inicializar en ROM (necesita -membedded-data)."
  
  #: config/csky/csky.opt:34
! #, no-c-format
  msgid "Specify the target architecture."
! msgstr "Especifica la arquitectura de destino."
  
  #: config/csky/csky.opt:38
  #, fuzzy, no-c-format
diff -Nrcpad gcc-16-20260118/gcc/rust/ChangeLog gcc-16-20260125/gcc/rust/ChangeLog
*** gcc-16-20260118/gcc/rust/ChangeLog	Sun Jan 18 22:32:08 2026
--- gcc-16-20260125/gcc/rust/ChangeLog	Sun Jan 25 22:32:08 2026
***************
*** 1,3 ****
--- 1,13 ----
+ 2026-01-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* lang.opt (frust-crate=, frust-extern=,
+ 	frust-incomplete-and-experimental-compiler-do-not-use,
+ 	frust-max-recursion-depth=, frust-crate-type=, frust-mangling=,
+ 	frust-cfg=, frust-edition=, frust-embed-metadata,
+ 	frust-metadata-output=, frust-compile-until=,
+ 	frust-name-resolution-2.0, frust-panic=, frust-overflow-checks): Add
+ 	dot at the end of the description.
+ 
  2026-01-16  Yap Zhi Heng  <yapzhhg@gmail.com>
  
  	* typecheck/rust-hir-type-check-expr.cc (visit(StructExprStruct)): Update to properly
diff -Nrcpad gcc-16-20260118/gcc/rust/lang.opt gcc-16-20260125/gcc/rust/lang.opt
*** gcc-16-20260118/gcc/rust/lang.opt	Sun Jan 18 22:32:08 2026
--- gcc-16-20260125/gcc/rust/lang.opt	Sun Jan 25 22:32:08 2026
*************** Warn for infinitely recursive calls.
*** 60,70 ****
  
  frust-crate=
  Rust Joined RejectNegative
! -frust-crate=<name>             Set the crate name for the compilation
  
  frust-extern=
  Rust RejectNegative Joined
! -frust-extern=              Specify where an external library is located
  
  frust-debug
  Rust Var(flag_rust_debug)
--- 60,70 ----
  
  frust-crate=
  Rust Joined RejectNegative
! -frust-crate=<name>             Set the crate name for the compilation.
  
  frust-extern=
  Rust RejectNegative Joined
! -frust-extern=              Specify where an external library is located.
  
  frust-debug
  Rust Var(flag_rust_debug)
*************** Rust Joined RejectNegative
*** 76,90 ****
  
  frust-incomplete-and-experimental-compiler-do-not-use
  Rust Var(flag_rust_experimental)
! Enable experimental compilation of Rust files at your own risk
  
  frust-max-recursion-depth=
  Rust RejectNegative Type(int) Var(rust_max_recursion_depth) Init(64)
! -frust-max-recursion-depth=<integer>
  
  frust-crate-type=
  Rust Joined RejectNegative Enum(frust_crate_type) Var(flag_rust_crate_type)
! -frust-crate-type=[bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]     Crate type to emit
  
  Enum
  Name(frust_crate_type) Type(int) UnknownError(unknown crate type: '%qs')
--- 76,90 ----
  
  frust-incomplete-and-experimental-compiler-do-not-use
  Rust Var(flag_rust_experimental)
! Enable experimental compilation of Rust files at your own risk.
  
  frust-max-recursion-depth=
  Rust RejectNegative Type(int) Var(rust_max_recursion_depth) Init(64)
! -frust-max-recursion-depth=<integer>.
  
  frust-crate-type=
  Rust Joined RejectNegative Enum(frust_crate_type) Var(flag_rust_crate_type)
! -frust-crate-type=[bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]     Crate type to emit.
  
  Enum
  Name(frust_crate_type) Type(int) UnknownError(unknown crate type: '%qs')
*************** Enum(frust_crate_type) String(proc-macro
*** 112,118 ****
  
  frust-mangling=
  Rust Joined RejectNegative Enum(frust_mangling) Var(flag_rust_mangling)
! -frust-mangling=[legacy|v0]     Version to use for name mangling
  
  Enum
  Name(frust_mangling) Type(int) UnknownError(unknown rust mangling option %qs)
--- 112,118 ----
  
  frust-mangling=
  Rust Joined RejectNegative Enum(frust_mangling) Var(flag_rust_mangling)
! -frust-mangling=[legacy|v0]     Version to use for name mangling.
  
  Enum
  Name(frust_mangling) Type(int) UnknownError(unknown rust mangling option %qs)
*************** Enum(frust_mangling) String(v0) Value(1)
*** 125,135 ****
  
  frust-cfg=
  Rust Joined RejectNegative
! -frust-cfg=<name>             Set a config expansion option
  
  frust-edition=
  Rust Joined RejectNegative Enum(frust_edition) Var(flag_rust_edition)
! -frust-edition=[2015|2018|2021]             Edition to use when compiling rust code
  
  Enum
  Name(frust_edition) Type(int) UnknownError(unknown rust edition %qs)
--- 125,135 ----
  
  frust-cfg=
  Rust Joined RejectNegative
! -frust-cfg=<name>             Set a config expansion option.
  
  frust-edition=
  Rust Joined RejectNegative Enum(frust_edition) Var(flag_rust_edition)
! -frust-edition=[2015|2018|2021]             Edition to use when compiling rust code.
  
  Enum
  Name(frust_edition) Type(int) UnknownError(unknown rust edition %qs)
*************** Enum(frust_edition) String(2021) Value(2
*** 145,155 ****
  
  frust-embed-metadata
  Rust Var(flag_rust_embed_metadata)
! Enable embedding metadata directly into object files
  
  frust-metadata-output=
  Rust Joined RejectNegative
! -frust-metadata-output=<path.rox>  Path to output crate metadata
  
  o
  Rust Joined Separate
--- 145,155 ----
  
  frust-embed-metadata
  Rust Var(flag_rust_embed_metadata)
! Enable embedding metadata directly into object files.
  
  frust-metadata-output=
  Rust Joined RejectNegative
! -frust-metadata-output=<path.rox>  Path to output crate metadata.
  
  o
  Rust Joined Separate
*************** Rust Joined Separate
*** 157,163 ****
  
  frust-compile-until=
  Rust Joined RejectNegative Enum(frust_compile_until) Var(flag_rust_compile_until)
! -frust-compile-until=[ast|attributecheck|expansion|astvalidation|featuregating|nameresolution|lowering|typecheck|privacy|unsafety|const|borrowcheck|compilation|end]             The pipeline will run up until this stage when compiling Rust code
  
  Enum
  Name(frust_compile_until) Type(int) UnknownError(unknown rust compile-until %qs)
--- 157,163 ----
  
  frust-compile-until=
  Rust Joined RejectNegative Enum(frust_compile_until) Var(flag_rust_compile_until)
! -frust-compile-until=[ast|attributecheck|expansion|astvalidation|featuregating|nameresolution|lowering|typecheck|privacy|unsafety|const|borrowcheck|compilation|end]             The pipeline will run up until this stage when compiling Rust code.
  
  Enum
  Name(frust_compile_until) Type(int) UnknownError(unknown rust compile-until %qs)
*************** Enum(frust_compile_until) String(end) Va
*** 206,212 ****
  
  frust-name-resolution-2.0
  Rust Var(flag_name_resolution_2_0) Init(1)
! Use the temporary and experimental name resolution pipeline instead of the stable one
  
  frust-borrowcheck
  Rust Var(flag_borrowcheck)
--- 206,212 ----
  
  frust-name-resolution-2.0
  Rust Var(flag_name_resolution_2_0) Init(1)
! Use the temporary and experimental name resolution pipeline instead of the stable one.
  
  frust-borrowcheck
  Rust Var(flag_borrowcheck)
*************** Use the WIP borrow checker.
*** 214,220 ****
  
  frust-panic=
  Rust Joined RejectNegative Enum(frust_panic) Var(flag_rust_panic)
! -frust-edition=[unwind|abort]             Panic strategy to compile crate with
  
  Enum
  Name(frust_panic) Type(int) UnknownError(unknown panic strategy %qs)
--- 214,220 ----
  
  frust-panic=
  Rust Joined RejectNegative Enum(frust_panic) Var(flag_rust_panic)
! -frust-edition=[unwind|abort]             Panic strategy to compile crate with.
  
  Enum
  Name(frust_panic) Type(int) UnknownError(unknown panic strategy %qs)
*************** Enum(frust_panic) String(abort) Value(1)
*** 227,237 ****
  
  frust-overflow-checks
  Rust Var(flag_overflow_checks) Init(1)
! Enable the overflow checks in code generation
  
  frust-assume-builtin-offset-of
  Rust Var(flag_assume_builtin_offset_of)
! Define a built-in offset_of macro in the compiler and assume it is present
  
  frust-unused-check-2.0
  Rust Var(flag_unused_check_2_0)
--- 227,237 ----
  
  frust-overflow-checks
  Rust Var(flag_overflow_checks) Init(1)
! Enable the overflow checks in code generation.
  
  frust-assume-builtin-offset-of
  Rust Var(flag_assume_builtin_offset_of)
! Define a built-in offset_of macro in the compiler and assume it is present.
  
  frust-unused-check-2.0
  Rust Var(flag_unused_check_2_0)
diff -Nrcpad gcc-16-20260118/gcc/simplify-rtx.cc gcc-16-20260125/gcc/simplify-rtx.cc
*** gcc-16-20260118/gcc/simplify-rtx.cc	Sun Jan 18 22:32:08 2026
--- gcc-16-20260125/gcc/simplify-rtx.cc	Sun Jan 25 22:32:08 2026
*************** simplify_ashift:
*** 5010,5020 ****
  	      rtx tmp_op, tmp;
  
  	      gcc_assert (GET_CODE (op1) == PARALLEL);
! 	      gcc_assert (i < n_elts);
  
  	      /* Select element, pointed by nested selector.  */
  	      elem = INTVAL (XVECEXP (op1, 0, i));
  
  	      /* Handle the case when nested VEC_SELECT wraps VEC_CONCAT.  */
  	      if (GET_CODE (op0) == VEC_CONCAT)
  		{
--- 5010,5022 ----
  	      rtx tmp_op, tmp;
  
  	      gcc_assert (GET_CODE (op1) == PARALLEL);
! 	      gcc_assert (i < XVECLEN (op1, 0));
  
  	      /* Select element, pointed by nested selector.  */
  	      elem = INTVAL (XVECEXP (op1, 0, i));
  
+ 	      gcc_assert (elem < n_elts);
+ 
  	      /* Handle the case when nested VEC_SELECT wraps VEC_CONCAT.  */
  	      if (GET_CODE (op0) == VEC_CONCAT)
  		{
diff -Nrcpad gcc-16-20260118/gcc/testsuite/ChangeLog gcc-16-20260125/gcc/testsuite/ChangeLog
*** gcc-16-20260118/gcc/testsuite/ChangeLog	Sun Jan 18 22:32:08 2026
--- gcc-16-20260125/gcc/testsuite/ChangeLog	Sun Jan 25 22:32:08 2026
***************
*** 1,3 ****
--- 1,492 ----
+ 2026-01-24  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/123803
+ 	* gcc.dg/pr123803-1.c: New test.
+ 
+ 2026-01-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+ 
+ 	PR fortran/123772
+ 	* gfortran.dg/pr123772.f03: New test.
+ 	Signed off by: Andrew Benson <abensonca@gcc.gnu.org>
+ 
+ 2026-01-24  Jose E. Marchesi  <jemarch@gnu.org>
+ 
+ 	Revert:
+ 	2026-01-24  Jose E. Marchesi  <jemarch@gnu.org>
+ 
+ 	* algol68/execute/pow-real-1.a68: Adapt test to use ** rather than
+ 	^ for pow operator.
+ 
+ 2026-01-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123737
+ 	* g++.dg/cpp/embed-28.C: New test.
+ 	* g++.dg/parse/comma3.C: New test.
+ 
+ 2026-01-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123667
+ 	* g++.dg/cpp1z/decomp66.C: New test.
+ 	* g++.dg/cpp1z/decomp67.C: New test.
+ 
+ 2026-01-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123684
+ 	* g++.dg/cpp0x/gen-attrs-90.C: New test.
+ 
+ 2026-01-23  Joseph Myers  <josmyers@redhat.com>
+ 
+ 	* g++.dg/gcov/gcov-1.C, g++.dg/gcov/gcov-10.C,
+ 	g++.dg/gcov/gcov-11.C, g++.dg/gcov/gcov-12.C,
+ 	g++.dg/gcov/gcov-13.C, g++.dg/gcov/gcov-14.C,
+ 	g++.dg/gcov/gcov-15.C, g++.dg/gcov/gcov-16.C,
+ 	g++.dg/gcov/gcov-17.C, g++.dg/gcov/gcov-18.C,
+ 	g++.dg/gcov/gcov-19.C, g++.dg/gcov/gcov-2.C,
+ 	g++.dg/gcov/gcov-20.C, g++.dg/gcov/gcov-21.C,
+ 	g++.dg/gcov/gcov-23.C, g++.dg/gcov/gcov-3.C, g++.dg/gcov/gcov-4.C,
+ 	g++.dg/gcov/gcov-5.C, g++.dg/gcov/gcov-7.C, g++.dg/gcov/gcov-8.C,
+ 	g++.dg/gcov/gcov-dump-1.C, g++.dg/gcov/gcov-dump-2.C,
+ 	g++.dg/gcov/gcov-threads-1.C, g++.dg/gcov/loop.C,
+ 	g++.dg/gcov/pr16855-priority.C, g++.dg/gcov/pr16855.C,
+ 	g++.dg/gcov/pr84548.C, g++.dg/gcov/pr86109.C,
+ 	g++.dg/gcov/pr88045.C, g++.dg/gcov/pr88263-2.C,
+ 	g++.dg/gcov/pr88263.C, g++.dg/gcov/pr97069.C,
+ 	g++.dg/gcov/pr98273.C, g++.dg/gcov/ternary.C,
+ 	gcc.misc-tests/gcov-1.c, gcc.misc-tests/gcov-10.c,
+ 	gcc.misc-tests/gcov-10b.c, gcc.misc-tests/gcov-11.c,
+ 	gcc.misc-tests/gcov-12.c, gcc.misc-tests/gcov-13.c,
+ 	gcc.misc-tests/gcov-14.c, gcc.misc-tests/gcov-15.c,
+ 	gcc.misc-tests/gcov-16.c, gcc.misc-tests/gcov-17.c,
+ 	gcc.misc-tests/gcov-18.c, gcc.misc-tests/gcov-19.c,
+ 	gcc.misc-tests/gcov-1a.c, gcc.misc-tests/gcov-2.c,
+ 	gcc.misc-tests/gcov-20.c, gcc.misc-tests/gcov-22.c,
+ 	gcc.misc-tests/gcov-24.c, gcc.misc-tests/gcov-25.c,
+ 	gcc.misc-tests/gcov-26.c, gcc.misc-tests/gcov-27.c,
+ 	gcc.misc-tests/gcov-28.c, gcc.misc-tests/gcov-29.c,
+ 	gcc.misc-tests/gcov-3.c, gcc.misc-tests/gcov-30.c,
+ 	gcc.misc-tests/gcov-33.c, gcc.misc-tests/gcov-34.c,
+ 	gcc.misc-tests/gcov-4.c, gcc.misc-tests/gcov-4b.c,
+ 	gcc.misc-tests/gcov-5b.c, gcc.misc-tests/gcov-6.c,
+ 	gcc.misc-tests/gcov-7.c, gcc.misc-tests/gcov-8.c,
+ 	gcc.misc-tests/gcov-9.c, gcc.misc-tests/gcov-pr83813.c,
+ 	gcc.misc-tests/gcov-pr84758.c, gcc.misc-tests/gcov-pr85217.c,
+ 	gcc.misc-tests/gcov-pr85332.c, gcc.misc-tests/gcov-pr85338.c,
+ 	gcc.misc-tests/gcov-pr85350.c, gcc.misc-tests/gcov-pr85372.c,
+ 	gcc.misc-tests/gcov-pr86536.c, gcc.misc-tests/gcov-pr90574-1.c,
+ 	gcc.misc-tests/gcov-pr90574-2.c, gdc.dg/gcov1.d,
+ 	gnat.dg/gcov/check.adb: Do not restrict to { target native }.
+ 	* lib/gcov.exp (transfer-gcda): New.
+ 	(clean-gcov-file): Delete .gcda file on target.
+ 	(run-gcov): Transfer .gcda files from target.
+ 
+ 2026-01-23  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	* gcc.target/aarch64/test_frame_common.h (t_frame_pattern):
+ 	Add noclone and noinline to the defining test function.
+ 
+ 2026-01-23  Robin Dapp  <rdapp@oss.qualcomm.com>
+ 
+ 	PR target/123780
+ 	* gcc.target/riscv/rvv/base/pr123780.c: New test.
+ 
+ 2026-01-23  Robin Dapp  <rdapp@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/123767
+ 	* gcc.target/aarch64/sve/pr123767.c: New test.
+ 
+ 2026-01-23  Robin Dapp  <rdapp@oss.qualcomm.com>
+ 
+ 	* gcc.target/riscv/rvv/base/pr122869.c: Add
+ 	vector requirement.
+ 
+ 2026-01-23  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/123778
+ 	* gcc.dg/torture/pr123778-1.c: New test.
+ 
+ 2026-01-23  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/120258
+ 	PR tree-optimization/106883
+ 	* gcc.dg/tree-ssa/slsr-8.c: Update the number of `*`.
+ 	* gcc.dg/torture/pr120258-1.c: New test.
+ 
+ 2026-01-23  Richard Sandiford  <rdsandiford@googlemail.com>
+ 
+ 	PR rtl-optimization/123144
+ 	* gcc.dg/torture/pr123144.c: New file.
+ 
+ 2026-01-23  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/123775
+ 	* gcc.target/aarch64/sve2/pr123775.c: New testcase.
+ 
+ 2026-01-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/123703
+ 	* gcc.c-torture/compile/pr123703.c: New test.
+ 
+ 2026-01-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123597
+ 	* g++.dg/gomp/pr123597.C: New test.
+ 
+ 2026-01-23  Richard Biener  <rguenther@suse.de>
+ 
+ 	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-epil-1.c: New
+ 	testcase.
+ 
+ 2026-01-23  Hongyu Wang  <hongyu.wang@intel.com>
+ 
+ 	* gcc.target/i386/apx-broadcast.c: New test.
+ 
+ 2026-01-22  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* g++.dg/guality/guality.exp, gcc.dg/guality/guality.exp,
+ 	gcc.dg/simulate-thread/simulate-thread.exp,
+ 	g++.dg/simulate-thread/simulate-thread.exp,
+ 	gfortran.dg/guality/guality.exp: Exit early for simulators.
+ 
+ 2026-01-22  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/123742
+ 	* gcc.target/arm/neon-smax16.c: New test.
+ 	* gcc.target/arm/neon-smin16.c: New test.
+ 
+ 2026-01-22  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123741
+ 	* gfortran.dg/vect/vect-pr123741.f90: New testcase.
+ 
+ 2026-01-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/123753
+ 	* gcc.c-torture/execute/pr123753.c: New test.
+ 
+ 2026-01-22  Robin Dapp  <rdapp@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/123731
+ 	* gcc.dg/vect/pr123731.c: New test.
+ 
+ 2026-01-22  Robin Dapp  <rdapp@oss.qualcomm.com>
+ 
+ 	PR target/122869
+ 	* gcc.target/riscv/rvv/base/pr122656-1.c: Remove dg-error.
+ 	* gcc.target/riscv/rvv/vsetvl/ffload-3.c: XFAIL for -O2 and -O3.
+ 	* gcc.target/riscv/rvv/base/pr122869.c: New test.
+ 
+ 2026-01-22  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123755
+ 	* gcc.dg/vect/vect-pr123755.c: New testcase.
+ 
+ 2026-01-22  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123756
+ 	* gcc.dg/vect/vect-pr123756.c: New testcase.
+ 
+ 2026-01-22  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR testsuite/123751
+ 	* gcc.dg/tree-ssa/pr46555.c: Disable for arm thumb1.
+ 
+ 2026-01-22  Alejandro Colomar  <alx@kernel.org>
+ 
+ 	* gcc.dg/maxof-compile.c (quals): New test.
+ 
+ 2026-01-22  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR diagnostics/122622
+ 	* sarif-replay.dg/2.1.0-valid/missing-source-pr122622-check-html.py:
+ 	New test script.
+ 	* sarif-replay.dg/2.1.0-valid/missing-source-pr122622.sarif: New
+ 	test.
+ 	* sarif-replay.dg/2.1.0-valid/spec-example-4.sarif: Update
+ 	expected output to reflect showing event locations and text.
+ 	* sarif-replay.dg/2.1.0-valid/tutorial-example.sarif: Likewise.
+ 
+ 2026-01-22  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/123745
+ 	* gcc.dg/torture/pr123745-1.c: New test.
+ 
+ 2026-01-21  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	* c-c++-common/analyzer/flex-without-call-summaries.c: Skip on
+ 	C++98 and tweak xfails to reflect slight differences in where
+ 	we hit exploration limits.
+ 	* c-c++-common/analyzer/raw-data-cst-pr117262-1.c: Add params to
+ 	force full exploration of the loop.
+ 	* gcc.dg/analyzer/pr93355-localealias.c (read_alias_file): Drop
+ 	xfail.
+ 
+ 2026-01-21  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	* c-c++-common/analyzer/aliasing-4.c: New test.
+ 	* c-c++-common/analyzer/aliasing-5.c: New test.
+ 
+ 2026-01-21  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>
+ 
+ 	PR target/122781
+ 	* gcc.target/s390/vxe3/vcmp-1.c: New test.
+ 
+ 2026-01-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/123744
+ 	* gcc.target/i386/avx512bw-pr123744.c: New test.
+ 
+ 2026-01-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123692
+ 	* g++.dg/cpp0x/pr123692.C: New test.
+ 
+ 2026-01-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123677
+ 	* g++.dg/cpp2a/pr123677.C: New test.
+ 
+ 2026-01-21  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/generic_inst16.adb: New test.
+ 	* gnat.dg/generic_inst16_pkg.ads: New helper.
+ 	* gnat.dg/generic_inst16_pkg-child.ads: Likewise.
+ 	* gnat.dg/generic_inst16_pkg-child-grandchild.ads: Likewise.
+ 	* gnat.dg/generic_inst16_proc.ads: Likewise.
+ 	* gnat.dg/generic_inst16_proc.adb: Likewise.
+ 
+ 2026-01-21  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	PR tree-optimization/113524
+ 	* gcc.dg/torture/pr113026-1.c: XFAIL bogus warning on various
+ 	32-bit targets.
+ 
+ 2026-01-21  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	* gcc.target/arm/thumb2-pop-loreg.c: Enable -mthumb.
+ 
+ 2026-01-21  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	* gcc.target/arm/simd/bf16_vstn_1.c: Adjust expectations for
+ 	code improved by late-combine.
+ 
+ 2026-01-21  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	* g++.dg/tree-ssa/cxa_atexit-1.C: Enable -fuse-cxa-atexit.
+ 	* g++.dg/tree-ssa/cxa_atexit-2.C: Likewise.
+ 	* g++.dg/tree-ssa/cxa_atexit-3.C: Likewise.
+ 	* g++.dg/tree-ssa/cxa_atexit-4.C: Likewise.
+ 	* g++.dg/tree-ssa/cxa_atexit-5.C: Likewise.
+ 	* g++.dg/tree-ssa/cxa_atexit-6.C: Likewise.
+ 
+ 2026-01-21  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	* g++.dg/modules/pr98893_b.C: Require and enable cxa_atexit.
+ 
+ 2026-01-21  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	* g++.dg/lto/pr62026_0.C: Silence -flinker-output warning.
+ 
+ 2026-01-21  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	* g++.dg/abi/abi-tag18a.C: Require and enable cxa_atexit.
+ 
+ 2026-01-21  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	* g++.dg/DRs/dr2836.C: Skip if ! hostedlib.
+ 	* g++.dg/alias-checks.C: Likewise.
+ 	* g++.dg/contracts/pr116490.C: Likewise.
+ 	* g++.dg/coroutines/torture/pr121219.C: Likewise.
+ 	* g++.dg/cpp2a/constexpr-vector1.C: Likewise.
+ 	* g++.dg/ext/is_virtual_base_of.C: Likewise.
+ 	* g++.dg/modules/contracts-5_b.C: Likewise.
+ 	* g++.dg/modules/gmf-xtreme.C: Likewise.
+ 	* g++.dg/modules/lto-3_a.H: Likewise.
+ 	* g++.dg/modules/lto-3_b.C: Likewise.
+ 	* g++.dg/modules/xtreme-header-8.C: Likewise.
+ 	* g++.dg/opt/pr119274.C: Likewise.
+ 	* g++.dg/pr117222.C: Likewise.
+ 	* g++.dg/torture/pr105769-1.C: Likewise.
+ 	* g++.dg/torture/pr118521.C: Likewise.
+ 	* g++.dg/tree-ssa/deque-1.C: Likewise.
+ 	* g++.dg/tree-ssa/deque-2.C: Likewise.
+ 	* g++.dg/tree-ssa/pr109442.C: Likewise.
+ 	* g++.dg/tree-ssa/pr110819.C: Likewise.
+ 	* g++.dg/tree-ssa/pr116868.C: Likewise.
+ 	* g++.dg/tree-ssa/pr58483.C: Likewise.
+ 	* g++.dg/tree-ssa/pr80331.C: Likewise.
+ 	* g++.dg/tree-ssa/pr87502.C: Likewise.
+ 	* g++.dg/tree-ssa/pr96945.C: Likewise.
+ 	* g++.dg/tree-ssa/string-1.C: Likewise.
+ 
+ 2026-01-21  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	* gcc.target/aarch64/acle/fp8-helpers-neon.c: Silence
+ 	warnings about _Static_assert.
+ 
+ 2026-01-21  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	* gcc.dg/tree-ssa/ldexp.c: Require HAVE_C99_RUNTIME to test
+ 	ldexpf and ldexpl.
+ 
+ 2026-01-21  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	* gcc.dg/dfp/c23-decimal64x-1.c: Drop the explicit dg-do run.
+ 	* gcc.dg/dfp/c23-decimal64x-3.c: Likewise.
+ 
+ 2026-01-20  Jeff Law  <jeffrey.law@oss.qualcomm.com>
+ 
+ 	PR rtl-optimization/123380
+ 	* gcc.target/riscv/pr123380.c: New test.
+ 
+ 2026-01-20  Jeff Law  <jeffrey.law@oss.qualcomm.com>
+ 
+ 	PR target/123626
+ 	* gcc.target/riscv/rvv/base/pr123626.c: New test.
+ 
+ 2026-01-20  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/123601
+ 	* g++.dg/lookup/operator-9.C: New test.
+ 
+ 2026-01-20  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	PR tree-optimization/123314
+ 	* gcc.dg/pr123314.c: New.
+ 
+ 2026-01-20  Vladimir N. Makarov  <vmakarov@redhat.com>
+ 
+ 	PR rtl-optimization/122215
+ 	* sparseset.supp: New.
+ 
+ 2026-01-20  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR sarif-replay/123056
+ 	* sarif-replay.dg/2.1.0-valid/3.11.6-embedded-links-pr123056.sarif: New test.
+ 	* sarif-replay.dg/2.1.0-valid/embedded-links-pr123056-check-html.py:
+ 	New test script.
+ 	* sarif-replay.dg/2.1.0-valid/embedded-links-pr123056-check-sarif-roundtrip.py:
+ 	New test script.
+ 
+ 2026-01-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123694
+ 	* g++.dg/cpp26/expansion-stmt28.C: New test.
+ 
+ 2026-01-20  Alfie Richards  <alfie.richards@arm.com>
+ 
+ 	PR middle-end/123697
+ 	* gcc.target/aarch64/sve/pr123697.c: New test.
+ 
+ 2026-01-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/123724
+ 	* g++.dg/opt/pr123724.C: New test.
+ 
+ 2026-01-20  Marek Polacek  <polacek@redhat.com>
+ 
+ 	* g++.dg/reflect/visibility1.C: Adjust dg-final.
+ 
+ 2026-01-20  Roger Sayle  <roger@nextmovesoftware.com>
+ 
+ 	PR rtl-optimization/123585
+ 	* gcc.target/i386/pr123585.c: New test case.
+ 
+ 2026-01-20  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	PR target/123584
+ 	* gcc.target/aarch64/torture/xar-zero.c: New test.
+ 
+ 2026-01-20  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/123697
+ 	* gcc.dg/vect/vect-pr123697.c: New testcase.
+ 
+ 2026-01-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcc.misc-tests/help.exp: Check for descriptions without terminating
+ 	dot or semicolon also for objc, objc++, rust, modula-2, cobol and
+ 	algol68.
+ 
+ 2026-01-20  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123729
+ 	* g++.dg/torture/pr123729.C: New testcase.
+ 
+ 2026-01-19  Jeff Law  <jeffrey.law@oss.qualcomm.com>
+ 
+ 	PR rtl-optimization/121787
+ 	* gcc.target/riscv/pr121787-1.c: New test.
+ 	* gcc.target/riscv/pr121787-2.c: New test.
+ 
+ 2026-01-19  Joseph Myers  <josmyers@redhat.com>
+ 
+ 	* g++.old-deja/g++.mike/eh30.C, g++.old-deja/g++.mike/p4750.C,
+ 	g++.old-deja/g++.robertl/eb106.C, g++.old-deja/g++.robertl/eb83.C,
+ 	gcc.dg/20020201-1.c: Do not use { target native }.
+ 
+ 2026-01-19  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	PR testsuite/123175
+ 	* gcc.dg/torture/pr123175-1.c: Use int32_t instead of int in
+ 	vec-type construction.
+ 	* gcc.dg/torture/pr123175-2.c: Same.
+ 
+ 2026-01-19  Jeff Law  <jeffrey.law@oss.qualcomm.com>
+ 	    Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR target/113666
+ 	* gcc.target/riscv/rvv/base/pr113666.c: New test.
+ 
+ 2026-01-19  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123061
+ 	PR tree-optimization/123636
+ 	* gcc.dg/torture/pr123061.c: New testcase.
+ 	* gcc.dg/torture/pr123636.c: Likewise.
+ 	* gcc.dg/tree-ssa/ssa-lim-26.c: Likewise.
+ 
+ 2026-01-19  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123602
+ 	* g++.dg/torture/pr123603.C: New testcase.
+ 
+ 2026-01-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/123656
+ 	* gcc.dg/pr123656.c: New test.
+ 
+ 2026-01-19  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR target/123603
+ 	* gcc.dg/vect/costmodel/x86_64/costmodel-pr123603.c: New testcase.
+ 
+ 2026-01-19  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	PR target/117575
+ 	* g++.target/loongarch/pr117575.C: New test.
+ 
+ 2026-01-19  Steven G. Kargl  <kargl@gcc.gnu.org>
+ 
+ 	PR fortran/123375
+ 	* gfortran.dg/import.f90: Run code testing for a warning that
+ 	is now an error.
+ 	* gfortran.dg/pr123375.f90: New test.
+ 
+ 2026-01-18  Marek Polacek  <polacek@redhat.com>
+ 
+ 	* g++.dg/reflect/expr6.C: Adjust dg-error.
+ 
+ 2026-01-18  Simon Martin  <simon@nasilyan.com>
+ 
+ 	PR c++/122391
+ 	* g++.dg/parse/bitfield10.C: New test.
+ 
+ 2026-01-18  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/123645
+ 	* gcc.dg/torture/pr123645-1.c: New test.
+ 	* gcc.dg/torture/pr123645-2.c: New test.
+ 
  2026-01-17  Jose E. Marchesi  <jemarch@gnu.org>
  
  	* algol68/execute/pow-real-1.a68: Adapt test to use ** rather than
diff -Nrcpad gcc-16-20260118/gcc/testsuite/algol68/execute/pow-real-1.a68 gcc-16-20260125/gcc/testsuite/algol68/execute/pow-real-1.a68
*** gcc-16-20260118/gcc/testsuite/algol68/execute/pow-real-1.a68	Sun Jan 18 22:32:08 2026
--- gcc-16-20260125/gcc/testsuite/algol68/execute/pow-real-1.a68	Sun Jan 25 22:32:09 2026
***************
*** 1,7 ****
  # { dg-options "-fstropping=upper" }  #
  BEGIN REAL r0 = 2.0; LONG REAL rr0 = LONG 2.0; LONG LONG REAL rrr0 = LONG LONG 2.0;
!       REAL r1 = r0 ** 2; REAL r2 = r0 ** 3.0;
!       LONG REAL rr1 = rr0 ** LONG 2; LONG REAL rr2 = rr0 ** LONG 3.0;
!       LONG LONG REAL rrr1 = rrr0 ** LONG LONG 2; LONG LONG REAL rrr2 = rrr0 ** LONG LONG 3.0;
        SKIP
  END
--- 1,7 ----
  # { dg-options "-fstropping=upper" }  #
  BEGIN REAL r0 = 2.0; LONG REAL rr0 = LONG 2.0; LONG LONG REAL rrr0 = LONG LONG 2.0;
!       REAL r1 = r0 ^ 2; REAL r2 = r0 ^ 3.0;
!       LONG REAL rr1 = rr0 ^ LONG 2; LONG REAL rr2 = rr0 ^ LONG 3.0;
!       LONG LONG REAL rrr1 = rrr0 ^ LONG LONG 2; LONG LONG REAL rrr2 = rrr0 ^ LONG LONG 3.0;
        SKIP
  END
diff -Nrcpad gcc-16-20260118/gcc/testsuite/c-c++-common/analyzer/aliasing-4.c gcc-16-20260125/gcc/testsuite/c-c++-common/analyzer/aliasing-4.c
*** gcc-16-20260118/gcc/testsuite/c-c++-common/analyzer/aliasing-4.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/c-c++-common/analyzer/aliasing-4.c	Sun Jan 25 22:32:09 2026
***************
*** 0 ****
--- 1,19 ----
+ /* Reduced from a case in haproxy's cfgparse.c where -fanalyzer
+    erroneously considered the __atomic_exchange_n (&i, 1, 0) to
+    affect "cookie_len" rather than "i".  */
+ 
+ extern int cookie_len;
+ 
+ void
+ check_config_validity ()
+ {
+   static char i;
+ 
+   if (!cookie_len)
+     cookie_len = 64;
+ 
+   while (1)
+     {
+       __atomic_exchange_n (&i, 1, 0); /* { dg-warning "infinite loop" } */
+     }
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/c-c++-common/analyzer/aliasing-5.c gcc-16-20260125/gcc/testsuite/c-c++-common/analyzer/aliasing-5.c
*** gcc-16-20260118/gcc/testsuite/c-c++-common/analyzer/aliasing-5.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/c-c++-common/analyzer/aliasing-5.c	Sun Jan 25 22:32:09 2026
***************
*** 0 ****
--- 1,33 ----
+ /* Reduced from a case in haproxy's haproxy.c where -fanalyzer
+    erroneously considered the __atomic_feth_add (&warn_fail, 1, 0) to
+    affect "ti" rather than "warn_fail".  */
+ 
+ struct thread_info
+ {
+   unsigned tid;
+ };
+ extern struct thread_info ha_thread_info[64];
+ extern __thread const struct thread_info *ti;
+ extern __thread unsigned int tid;
+ 
+ static inline void
+ ha_set_thread (const struct thread_info *thr)
+ {
+   if (thr)
+     tid = thr->tid;
+   else
+     {
+       tid = 0;
+       ti = &ha_thread_info[0];
+     }
+ }
+ 
+ void
+ run_thread_poll_loop (const struct thread_info *thr)
+ {
+   static int warn_fail;
+ 
+   ha_set_thread (thr);
+ 
+   __atomic_fetch_add (&warn_fail, 1, 0);
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/c-c++-common/analyzer/flex-without-call-summaries.c gcc-16-20260125/gcc/testsuite/c-c++-common/analyzer/flex-without-call-summaries.c
*** gcc-16-20260118/gcc/testsuite/c-c++-common/analyzer/flex-without-call-summaries.c	Sun Jan 18 22:32:08 2026
--- gcc-16-20260125/gcc/testsuite/c-c++-common/analyzer/flex-without-call-summaries.c	Sun Jan 25 22:32:09 2026
***************
*** 7,13 ****
  /* { dg-additional-options "-D_POSIX_SOURCE" } */
  
  /* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
! 
  
  /* A lexical scanner generated by flex */
  
--- 7,13 ----
  /* { dg-additional-options "-D_POSIX_SOURCE" } */
  
  /* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
! /* { dg-skip-if "C++98 builds hit different limits exploring egraph" { c++98_only } } */
  
  /* A lexical scanner generated by flex */
  
*************** static int yy_get_next_buffer (void)
*** 882,895 ****
  					b->yy_buf_size *= 2;
  
  				b->yy_ch_buf = (char *)  /* { dg-warning "leak of '\\*b.yy_ch_buf'" "" { xfail *-*-* } } */
! 							 /* { dg-warning "leak of '\\*b.yy_buffer_state::yy_ch_buf'" "" { xfail *-*-* } .-1 } */
  					/* Include room in for 2 EOB chars. */
  					yyrealloc( (void *) b->yy_ch_buf,
  							 (yy_size_t) (b->yy_buf_size + 2)  );
  				}
  			else
  				/* Can't grow it, we don't own it. */
! 				b->yy_ch_buf = NULL;  /* { dg-bogus "leak" "PR analyzer/103546" } */
  
  			if ( ! b->yy_ch_buf )
  				YY_FATAL_ERROR(
--- 882,895 ----
  					b->yy_buf_size *= 2;
  
  				b->yy_ch_buf = (char *)  /* { dg-warning "leak of '\\*b.yy_ch_buf'" "" { xfail *-*-* } } */
! 							 /* { dg-warning "leak of '\\*b.yy_buffer_state::yy_ch_buf'" "" { target c++ } .-1 } */
  					/* Include room in for 2 EOB chars. */
  					yyrealloc( (void *) b->yy_ch_buf,
  							 (yy_size_t) (b->yy_buf_size + 2)  );
  				}
  			else
  				/* Can't grow it, we don't own it. */
! 				b->yy_ch_buf = NULL;  /* { dg-bogus "leak" "PR analyzer/103546" { xfail c++ } } */
  
  			if ( ! b->yy_ch_buf )
  				YY_FATAL_ERROR(
diff -Nrcpad gcc-16-20260118/gcc/testsuite/c-c++-common/analyzer/raw-data-cst-pr117262-1.c gcc-16-20260125/gcc/testsuite/c-c++-common/analyzer/raw-data-cst-pr117262-1.c
*** gcc-16-20260118/gcc/testsuite/c-c++-common/analyzer/raw-data-cst-pr117262-1.c	Sun Jan 18 22:32:08 2026
--- gcc-16-20260125/gcc/testsuite/c-c++-common/analyzer/raw-data-cst-pr117262-1.c	Sun Jan 25 22:32:09 2026
***************
*** 1,3 ****
--- 1,5 ----
+ /* { dg-additional-options "--param analyzer-max-enodes-per-program-point=50 --param analyzer-bb-explosion-factor=50" } */
+ 
  int
  main ()
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/DRs/dr2836.C gcc-16-20260125/gcc/testsuite/g++.dg/DRs/dr2836.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/DRs/dr2836.C	Sun Jan 18 22:32:08 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/DRs/dr2836.C	Sun Jan 25 22:32:09 2026
***************
*** 1,6 ****
--- 1,7 ----
  // DR 2836 - Conversion rank of long double and extended floating-point types
  // { dg-do compile { target c++23 } }
  // { dg-additional-options "-mlong-double-64" { target powerpc*-*-* s390*-*-* } }
+ // { dg-skip-if "required hosted libstdc++ for stdfloat" { ! hostedlib } }
  
  #include <stdfloat>
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/abi/abi-tag18a.C gcc-16-20260125/gcc/testsuite/g++.dg/abi/abi-tag18a.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/abi/abi-tag18a.C	Sun Jan 18 22:32:08 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/abi/abi-tag18a.C	Sun Jan 25 22:32:09 2026
***************
*** 1,5 ****
--- 1,7 ----
  // { dg-skip-if "PR 70349" { hppa*-*-hpux* } }
  // { dg-options "-fabi-version=9 -fno-implicit-constexpr" }
+ // { dg-require-effective-target cxa_atexit }
+ // { dg-additional-options "-fuse-cxa-atexit" }
  // { dg-final { scan-assembler "_Z1fB7__test1v" } }
  // { dg-final { scan-assembler "_ZZ1fB7__test1vEN1T1gB7__test2Ev" } }
  // { dg-final { scan-assembler "_ZZZ1fB7__test1vEN1T1gEvE1x" } }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/alias-checks.C gcc-16-20260125/gcc/testsuite/g++.dg/alias-checks.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/alias-checks.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/alias-checks.C	Sun Jan 25 22:32:09 2026
***************
*** 3,8 ****
--- 3,9 ----
  // { dg-require-effective-target c++17 }
  // { dg-require-effective-target vect_double }
  // { dg-options "-O3 -fdump-tree-vect-all" }
+ // { dg-skip-if "required hosted libstdc++ for cmath and iostream" { ! hostedlib } }
  
  #include <cstdlib>
  #include <cmath>
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/contracts/pr116490.C gcc-16-20260125/gcc/testsuite/g++.dg/contracts/pr116490.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/contracts/pr116490.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/contracts/pr116490.C	Sun Jan 25 22:32:09 2026
***************
*** 1,6 ****
--- 1,7 ----
  // ICE in explicit instantiation of a function with contracts
  // { dg-do run }
  // { dg-options "-std=c++20 -fcontracts -fcontract-continuation-mode=on" }
+ // { dg-skip-if "required hosted libstdc++ for stdc++exp" { ! hostedlib } }
  
  template<class T>
  void foo(T t)
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/coroutines/torture/pr121219.C gcc-16-20260125/gcc/testsuite/g++.dg/coroutines/torture/pr121219.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/coroutines/torture/pr121219.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/coroutines/torture/pr121219.C	Sun Jan 25 22:32:09 2026
***************
*** 1,5 ****
--- 1,6 ----
  // PR c++/121219
  // { dg-do run }
+ // { dg-skip-if "required hosted libstdc++ for stdexcept" { ! hostedlib } }
  
  #include <coroutine>
  #ifdef OUTPUT
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/cpp/embed-28.C gcc-16-20260125/gcc/testsuite/g++.dg/cpp/embed-28.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/cpp/embed-28.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/g++.dg/cpp/embed-28.C	Sun Jan 25 22:32:09 2026
***************
*** 0 ****
--- 1,19 ----
+ // PR c++/123737
+ // { dg-do run }
+ // { dg-options "--embed-dir=${srcdir}/c-c++-common/cpp/embed-dir" }
+ 
+ struct A {
+   A (int x) : a (0), e (x) {}
+   unsigned long a, e;
+   A &operator, (int) { ++a; return *this; }
+   ~A () { if (a != e) __builtin_abort (); }
+ };
+ 
+ int
+ main ()
+ {
+   A a = 231;
+   a,
+ #embed <magna-carta.txt> limit (231)
+     ;
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/cpp0x/gen-attrs-90.C gcc-16-20260125/gcc/testsuite/g++.dg/cpp0x/gen-attrs-90.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/cpp0x/gen-attrs-90.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/g++.dg/cpp0x/gen-attrs-90.C	Sun Jan 25 22:32:09 2026
***************
*** 0 ****
--- 1,8 ----
+ // PR c++/123684
+ // { dg-do compile { target c++11 } }
+ 
+ inline namespace [[foo::abi_tag (1, 2, 3)]] A {}	// { dg-warning "'abi_tag' attribute directive ignored" }
+ inline namespace [[foo::visibility (1, 2, 3)]] B {}	// { dg-warning "'visibility' attribute directive ignored" }
+ inline namespace [[foo::deprecated (1, 2, 3)]] C {}	// { dg-warning "'deprecated' attribute directive ignored" }
+ inline namespace [[abi_tag (1, 2, 3)]] D {}		// { dg-warning "'abi_tag' attribute directive ignored" }
+ inline namespace [[visibility (1, 2, 3)]] E {}		// { dg-warning "'visibility' attribute directive ignored" }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/cpp0x/pr123692.C gcc-16-20260125/gcc/testsuite/g++.dg/cpp0x/pr123692.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/cpp0x/pr123692.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/g++.dg/cpp0x/pr123692.C	Sun Jan 25 22:32:09 2026
***************
*** 0 ****
--- 1,9 ----
+ // PR c++/123692
+ // { dg-do compile { target c++11 } }
+ 
+ struct A { A (int); bool operator == (A); };
+ struct B : A { using A::A; };
+ B operator - (B, B);
+ extern B c;
+ extern A d;
+ decltype (d == c - 1) x;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/cpp1z/decomp66.C gcc-16-20260125/gcc/testsuite/g++.dg/cpp1z/decomp66.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/cpp1z/decomp66.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/g++.dg/cpp1z/decomp66.C	Sun Jan 25 22:32:09 2026
***************
*** 0 ****
--- 1,23 ----
+ // PR c++/123667
+ // { dg-do compile { target c++14 } }
+ // { dg-options "" }
+ 
+ namespace std {
+   template <typename T> struct tuple_size;
+   template <int, typename> struct tuple_element;
+ }
+ 
+ struct A {
+   int i;
+   template <int I> int &get () { return i; }
+ };
+ 
+ template <> struct std::tuple_size <A> { static const int value = 2; };
+ template <int I> struct std::tuple_element <I,A> { using type = int; };
+ 
+ int
+ main ()
+ {
+   auto [ x, y ] = A { 0 };	// { dg-warning "structured bindings only available with" "" { target c++14_down } }
+   [] (auto t) { using z = decltype (x); } (1);
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/cpp1z/decomp67.C gcc-16-20260125/gcc/testsuite/g++.dg/cpp1z/decomp67.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/cpp1z/decomp67.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/g++.dg/cpp1z/decomp67.C	Sun Jan 25 22:32:09 2026
***************
*** 0 ****
--- 1,33 ----
+ // PR c++/123667
+ // { dg-do compile { target c++11 } }
+ // { dg-options "" }
+ 
+ namespace std {
+   template <typename T> struct tuple_size;
+   template <int, typename> struct tuple_element;
+ }
+ 
+ struct A {
+   int i;
+   template <int I> int &get () { return i; }
+ };
+ 
+ template <> struct std::tuple_size <A> { static const int value = 2; };
+ template <int I> struct std::tuple_element <I,A> { using type = int; };
+ 
+ auto [ x, y ] = A { 0 };	// { dg-warning "structured bindings only available with" "" { target c++14_down } }
+ 
+ template <int N>
+ void
+ foo ()
+ {
+   using a = decltype (x);
+   auto [ x, y ] = A { 0 };	// { dg-warning "structured bindings only available with" "" { target c++14_down } }
+   using b = decltype (x);
+ }
+ 
+ void
+ bar ()
+ {
+   foo <42> ();
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/cpp26/expansion-stmt28.C gcc-16-20260125/gcc/testsuite/g++.dg/cpp26/expansion-stmt28.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/cpp26/expansion-stmt28.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/g++.dg/cpp26/expansion-stmt28.C	Sun Jan 25 22:32:09 2026
***************
*** 0 ****
--- 1,13 ----
+ // PR c++/123694
+ // { dg-do compile { target c++11 } }
+ // { dg-options "-Wmisleading-indentation" }
+ 
+ int
+ foo ()
+ {
+   int b = 0;
+   template for (constexpr auto a : { 1, 2L, 3.0 })	// { dg-warning "'template for' only available with" "" { target c++23_down } }
+     b += a;						// { dg-warning "this 'template for' clause does not guard\\.\\.\\." "" { target *-*-* } .-1 }
+     b++;						// { dg-message "\\.\\.\\.this statement, but the latter is misleadingly indented as if it were guarded by the 'template for'" }
+   return b;
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/cpp2a/constexpr-vector1.C gcc-16-20260125/gcc/testsuite/g++.dg/cpp2a/constexpr-vector1.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/cpp2a/constexpr-vector1.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/cpp2a/constexpr-vector1.C	Sun Jan 25 22:32:09 2026
***************
*** 1,6 ****
--- 1,7 ----
  // PR c++/113835
  // { dg-timeout-factor 0.05 }
  // { dg-do compile { target c++20_only } }
+ // { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
  
  #include <vector>
  const std::size_t N = 1'000'000;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/cpp2a/pr123677.C gcc-16-20260125/gcc/testsuite/g++.dg/cpp2a/pr123677.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/cpp2a/pr123677.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/g++.dg/cpp2a/pr123677.C	Sun Jan 25 22:32:09 2026
***************
*** 0 ****
--- 1,7 ----
+ // PR c++/123677
+ // { dg-do compile { target c++20 } }
+ 
+ struct B { void foo (); };
+ typedef void (B::*A) ();
+ struct C { constexpr C (A d) { auto e = new A (d); e->~A (); } };
+ C c { &B::foo };
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/ext/is_virtual_base_of.C gcc-16-20260125/gcc/testsuite/g++.dg/ext/is_virtual_base_of.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/ext/is_virtual_base_of.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/ext/is_virtual_base_of.C	Sun Jan 25 22:32:09 2026
***************
*** 1,4 ****
--- 1,6 ----
  // { dg-do run }
+ // { dg-skip-if "required hosted libstdc++ for cassert" { ! hostedlib } }
+ 
  #include <cassert>
  
  class A1
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-1.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-1.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-1.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-1.C	Sun Jan 25 22:32:10 2026
***************
*** 2,8 ****
     constructs are reported correctly by gcov. */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  extern "C" void abort (void);
  
--- 2,8 ----
     constructs are reported correctly by gcov. */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  extern "C" void abort (void);
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-10.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-10.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-10.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-10.C	Sun Jan 25 22:32:10 2026
***************
*** 1,7 ****
  /* Ensure PIC sequence used for comdat functions */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage -fpic" } */
! /* { dg-do run { target native } } */
  /* { dg-require-effective-target fpic } */
  
  inline int __attribute__ ((noinline)) Foo ()
--- 1,7 ----
  /* Ensure PIC sequence used for comdat functions */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage -fpic" } */
! /* { dg-do run } */
  /* { dg-require-effective-target fpic } */
  
  inline int __attribute__ ((noinline)) Foo ()
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-11.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-11.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-11.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-11.C	Sun Jan 25 22:32:10 2026
***************
*** 2,8 ****
     distinct from  unexecuted normal regions.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  void Baz (int i)
  {
--- 2,8 ----
     distinct from  unexecuted normal regions.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  void Baz (int i)
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-12.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-12.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-12.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-12.C	Sun Jan 25 22:32:10 2026
***************
*** 1,6 ****
  /* PR 51113 */
  /* { dg-options "-fprofile-arcs -ftest-coverage -fpic -fno-implicit-constexpr" } */
! /* { dg-do run { target native } } */
  /* { dg-additional-sources "gcovpart-12b.C" } */
  
  struct Foo {
--- 1,6 ----
  /* PR 51113 */
  /* { dg-options "-fprofile-arcs -ftest-coverage -fpic -fno-implicit-constexpr" } */
! /* { dg-do run } */
  /* { dg-additional-sources "gcovpart-12b.C" } */
  
  struct Foo {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-13.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-13.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-13.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-13.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  void Baz (int i)
  {
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  void Baz (int i)
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-14.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-14.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-14.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-14.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage -Ofast" } */
! /* { dg-do run { target native } } */
  /* { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } } */
  
  #include <iostream>
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage -Ofast" } */
! /* { dg-do run } */
  /* { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } } */
  
  #include <iostream>
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-15.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-15.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-15.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-15.C	Sun Jan 25 22:32:10 2026
***************
*** 1,6 ****
  // PR gcov-profile/64634
  // { dg-options "-fprofile-arcs -ftest-coverage" }
! // { dg-do run { target native } }
  
  void catchEx ()		// count(1)
  {
--- 1,6 ----
  // PR gcov-profile/64634
  // { dg-options "-fprofile-arcs -ftest-coverage" }
! // { dg-do run }
  
  void catchEx ()		// count(1)
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-16.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-16.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-16.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-16.C	Sun Jan 25 22:32:10 2026
***************
*** 1,6 ****
  // PR gcov-profile/64634
  // { dg-options "-fprofile-arcs -ftest-coverage" }
! // { dg-do run { target native } }
  
  int main()
  {
--- 1,6 ----
  // PR gcov-profile/64634
  // { dg-options "-fprofile-arcs -ftest-coverage" }
! // { dg-do run }
  
  int main()
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-17.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-17.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-17.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-17.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  /* { dg-options "--coverage -std=c++11" } */
! /* { dg-do run { target native } } */
  
  template <class T> class Foo
  {
--- 1,5 ----
  /* { dg-options "--coverage -std=c++11" } */
! /* { dg-do run } */
  
  template <class T> class Foo
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-18.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-18.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-18.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-18.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  /* { dg-options "--coverage -fcondition-coverage -std=c++11" } */
! /* { dg-do run { target native } } */
  /* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
  
  #include <vector>
--- 1,5 ----
  /* { dg-options "--coverage -fcondition-coverage -std=c++11" } */
! /* { dg-do run } */
  /* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
  
  #include <vector>
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-19.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-19.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-19.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-19.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  /* Filtering on the function base name generally works well, because it becomes
     an unadultered part of the symbol.  */
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  /* Filtering on the function base name generally works well, because it becomes
     an unadultered part of the symbol.  */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-2.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-2.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-2.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-2.C	Sun Jan 25 22:32:10 2026
***************
*** 1,7 ****
  /* Verify line coverage counts for simple member functions. */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage -fno-implicit-constexpr" } */
! /* { dg-do run { target native } } */
  
  class C {
  public:
--- 1,7 ----
  /* Verify line coverage counts for simple member functions. */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage -fno-implicit-constexpr" } */
! /* { dg-do run } */
  
  class C {
  public:
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-20.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-20.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-20.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-20.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  /* Filtering also works by targeting the mangled symbol directly, but the
     subtlety is not really caught by the test framework.  Matching on fn1I[df]
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  /* Filtering also works by targeting the mangled symbol directly, but the
     subtlety is not really caught by the test framework.  Matching on fn1I[df]
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-21.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-21.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-21.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-21.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  /* Filters can be applied to demangled names. This support matching on
     types and class hierarchies as well as function names.  */
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  /* Filters can be applied to demangled names. This support matching on
     types and class hierarchies as well as function names.  */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-23.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-23.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-23.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-23.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  /* { dg-options "-fpath-coverage --coverage" } */
! /* { dg-do run { target native } } */
  
  #include "gcov-23-1.h"
  #include "gcov-23-2.h"
--- 1,5 ----
  /* { dg-options "-fpath-coverage --coverage" } */
! /* { dg-do run } */
  
  #include "gcov-23-1.h"
  #include "gcov-23-2.h"
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-3.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-3.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-3.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-3.C	Sun Jan 25 22:32:10 2026
***************
*** 2,8 ****
     within a header file.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  #include "gcov-3.h"
  
--- 2,8 ----
     within a header file.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  #include "gcov-3.h"
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-4.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-4.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-4.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-4.C	Sun Jan 25 22:32:10 2026
***************
*** 4,10 ****
  #include <stdio.h>
  
  /* { dg-options "-fprofile-arcs -ftest-coverage -fno-exceptions" } */
! /* { dg-do run { target native } } */
  
  class foo {
  public:
--- 4,10 ----
  #include <stdio.h>
  
  /* { dg-options "-fprofile-arcs -ftest-coverage -fno-exceptions" } */
! /* { dg-do run } */
  
  class foo {
  public:
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-5.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-5.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-5.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-5.C	Sun Jan 25 22:32:10 2026
***************
*** 5,11 ****
  #include <stdlib.h>
  
  /* { dg-options "-fprofile-arcs -ftest-coverage -fno-inline" } */
! /* { dg-do run { target native } } */
  
  class A {
    int count;
--- 5,11 ----
  #include <stdlib.h>
  
  /* { dg-options "-fprofile-arcs -ftest-coverage -fno-inline" } */
! /* { dg-do run } */
  
  class A {
    int count;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-7.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-7.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-7.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-7.C	Sun Jan 25 22:32:10 2026
***************
*** 3,9 ****
     declaration.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  struct foo
  {
--- 3,9 ----
     declaration.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  struct foo
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-8.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-8.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-8.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-8.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  class C {
  public:
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  class C {
  public:
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-dump-1.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-dump-1.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-dump-1.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-dump-1.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-generate -ftest-coverage " } */
! /* { dg-do run { target native } } */
  
  int value;
  
--- 1,5 ----
  /* { dg-options "-fprofile-generate -ftest-coverage " } */
! /* { dg-do run } */
  
  int value;
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-dump-2.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-dump-2.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-dump-2.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-dump-2.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-generate -ftest-coverage " } */
! /* { dg-do run { target native } } */
  
  int value;
  
--- 1,5 ----
  /* { dg-options "-fprofile-generate -ftest-coverage " } */
! /* { dg-do run } */
  
  int value;
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-threads-1.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-threads-1.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/gcov-threads-1.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/gcov-threads-1.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage -pthread -fprofile-update=atomic" } */
! /* { dg-do run { target native } } */
  /* { dg-require-effective-target profile_update_atomic } */
  
  #include <stdint.h>
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage -pthread -fprofile-update=atomic" } */
! /* { dg-do run } */
  /* { dg-require-effective-target profile_update_atomic } */
  
  #include <stdint.h>
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/loop.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/loop.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/loop.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/loop.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  unsigned
  loop (unsigned n, int value)		  /* count(14.0k) */
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  unsigned
  loop (unsigned n, int value)		  /* count(14.0k) */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr16855-priority.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr16855-priority.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr16855-priority.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr16855-priority.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  /* { dg-require-effective-target init_priority } */
  
  #include <stdlib.h>
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  /* { dg-require-effective-target init_priority } */
  
  #include <stdlib.h>
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr16855.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr16855.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr16855.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr16855.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  /* See PR91087 for information on Darwin xfails.  Also PR81337 for Solaris
     ones.*/
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  /* See PR91087 for information on Darwin xfails.  Also PR81337 for Solaris
     ones.*/
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr84548.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr84548.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr84548.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr84548.C	Sun Jan 25 22:32:10 2026
***************
*** 1,6 ****
  // PR gcov-profile/84548
  // { dg-options "-fprofile-arcs -ftest-coverage" }
! // { dg-do run { target native } }
  // TODO: add support for groups to gcov.exp script
  
  struct A { static int foo () { return 1; }; static int bar () {
--- 1,6 ----
  // PR gcov-profile/84548
  // { dg-options "-fprofile-arcs -ftest-coverage" }
! // { dg-do run }
  // TODO: add support for groups to gcov.exp script
  
  struct A { static int foo () { return 1; }; static int bar () {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr86109.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr86109.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr86109.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr86109.C	Sun Jan 25 22:32:10 2026
***************
*** 1,6 ****
  
  /* { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" } */
! /* { dg-do run { target native } } */
  
  int main()
  {
--- 1,6 ----
  
  /* { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" } */
! /* { dg-do run } */
  
  int main()
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr88045.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr88045.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr88045.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr88045.C	Sun Jan 25 22:32:10 2026
***************
*** 1,6 ****
  // PR gcov-profile/88045
  // { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" }
! // { dg-do run { target native } }
  /* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
  
  #include <numeric>
--- 1,6 ----
  // PR gcov-profile/88045
  // { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" }
! // { dg-do run }
  /* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
  
  #include <numeric>
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr88263-2.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr88263-2.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr88263-2.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr88263-2.C	Sun Jan 25 22:32:10 2026
***************
*** 1,6 ****
  // PR gcov-profile/88263
  // { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" }
! // { dg-do run { target native } }
  /* { dg-skip-if "requires hosted libstdc++ for sstream" { ! hostedlib } } */
  
  #include <sstream>
--- 1,6 ----
  // PR gcov-profile/88263
  // { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" }
! // { dg-do run }
  /* { dg-skip-if "requires hosted libstdc++ for sstream" { ! hostedlib } } */
  
  #include <sstream>
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr88263.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr88263.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr88263.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr88263.C	Sun Jan 25 22:32:10 2026
***************
*** 1,6 ****
  // PR gcov-profile/88263
  // { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" }
! // { dg-do run { target native } }
  /* { dg-skip-if "requires hosted libstdc++ for sstream" { ! hostedlib } } */
  
  #include <sstream>
--- 1,6 ----
  // PR gcov-profile/88263
  // { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" }
! // { dg-do run }
  /* { dg-skip-if "requires hosted libstdc++ for sstream" { ! hostedlib } } */
  
  #include <sstream>
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr97069.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr97069.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr97069.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr97069.C	Sun Jan 25 22:32:10 2026
***************
*** 1,6 ****
  // PR gcov-profile/97069
  // { dg-options "--coverage" }
! // { dg-do run { target native } }
  
  # 0 "pr97069.C"
  # 0 "<built-in>"
--- 1,6 ----
  // PR gcov-profile/97069
  // { dg-options "--coverage" }
! // { dg-do run }
  
  # 0 "pr97069.C"
  # 0 "<built-in>"
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr98273.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr98273.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/pr98273.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/pr98273.C	Sun Jan 25 22:32:10 2026
***************
*** 1,7 ****
  /* PR gcov-profile/98273 */
  
  /* { dg-options "--coverage -std=c++11" } */
! /* { dg-do run { target native } } */
  
  int
  main ()
--- 1,7 ----
  /* PR gcov-profile/98273 */
  
  /* { dg-options "--coverage -std=c++11" } */
! /* { dg-do run } */
  
  int
  main ()
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gcov/ternary.C gcc-16-20260125/gcc/testsuite/g++.dg/gcov/ternary.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gcov/ternary.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/gcov/ternary.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
  // { dg-options "-fprofile-arcs -ftest-coverage" }
! // { dg-do run { target native } }
  
  int b, c, d, e;
  
--- 1,5 ----
  // { dg-options "-fprofile-arcs -ftest-coverage" }
! // { dg-do run }
  
  int b, c, d, e;
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/gomp/pr123597.C gcc-16-20260125/gcc/testsuite/g++.dg/gomp/pr123597.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/gomp/pr123597.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/g++.dg/gomp/pr123597.C	Sun Jan 25 22:32:10 2026
***************
*** 0 ****
--- 1,25 ----
+ // PR c++/123597
+ // { dg-do compile }
+ // { dg-additional-options "-fdump-tree-gimple" }
+ // { dg-final { scan-tree-dump-not " shared\\\(sum\\\)" "gimple" } }
+ 
+ template <typename T>
+ void
+ foo (T *x)
+ {
+   #pragma omp teams distribute parallel for collapse(2)
+   for (long i = 0; i < 5; i++)
+     for (long j = 0; j < 5; j++)
+       {
+         T sum = 0;
+         for (long k = 0; k < 5; k++)
+           sum += 2;
+         x[i + 5 * j] = sum;
+       }
+ }
+ 
+ void
+ bar (int *x)
+ {
+   foo (x);
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/guality/guality.exp gcc-16-20260125/gcc/testsuite/g++.dg/guality/guality.exp
*** gcc-16-20260118/gcc/testsuite/g++.dg/guality/guality.exp	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/guality/guality.exp	Sun Jan 25 22:32:10 2026
*************** if { [istarget *-*-darwin*] } {
*** 8,13 ****
--- 8,17 ----
      return
  }
  
+ if { [check_effective_target_simulator] } {
+     return
+ }
+ 
  if { [istarget hppa*-*-hpux*] } {
      return
  }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/lookup/operator-9.C gcc-16-20260125/gcc/testsuite/g++.dg/lookup/operator-9.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/lookup/operator-9.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/g++.dg/lookup/operator-9.C	Sun Jan 25 22:32:10 2026
***************
*** 0 ****
--- 1,17 ----
+ // PR c++/123601
+ // { dg-do compile { target c++20 } }
+ 
+ #include <compare>
+ 
+ struct A {
+   bool operator==(int);
+   int operator<=>(int);
+ };
+ 
+ template<class T>
+ void f() {
+   A a;
+   (void)(0 <=> a);
+ }
+ 
+ template void f<int>();
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/lto/pr62026_0.C gcc-16-20260125/gcc/testsuite/g++.dg/lto/pr62026_0.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/lto/pr62026_0.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/lto/pr62026_0.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
--- 1,7 ----
  // { dg-lto-do link }
  // { dg-lto-options {{-flto -O3 -r -Wno-return-type}} }
+ // { dg-extra-ld-options "-flinker-output=nolto-rel" }
+ 
  class C;
  class F {
    virtual C m_fn1();
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/modules/contracts-5_b.C gcc-16-20260125/gcc/testsuite/g++.dg/modules/contracts-5_b.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/modules/contracts-5_b.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/modules/contracts-5_b.C	Sun Jan 25 22:32:10 2026
***************
*** 1,6 ****
--- 1,7 ----
  // PR c++/108205
  // { dg-module-do run }
  // { dg-additional-options "-fmodules -fcontracts -fcontract-continuation-mode=on" }
+ // { dg-skip-if "required hosted libstdc++ for experimental/contract" { ! hostedlib } }
  
  #include <experimental/contract>
  import test;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/modules/gmf-xtreme.C gcc-16-20260125/gcc/testsuite/g++.dg/modules/gmf-xtreme.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/modules/gmf-xtreme.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/modules/gmf-xtreme.C	Sun Jan 25 22:32:10 2026
***************
*** 1,6 ****
--- 1,7 ----
  // PR c++/114630
  // { dg-additional-options "-fmodules-ts -fdump-lang-module" }
  // { dg-module-cmi empty }
+ // { dg-skip-if "required hosted libstdc++ for any in xtreme-header.h" { ! hostedlib } }
  
  module;
  #include "xtreme-header.h"
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/modules/lto-3_a.H gcc-16-20260125/gcc/testsuite/g++.dg/modules/lto-3_a.H
*** gcc-16-20260118/gcc/testsuite/g++.dg/modules/lto-3_a.H	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/modules/lto-3_a.H	Sun Jan 25 22:32:10 2026
***************
*** 1,6 ****
--- 1,7 ----
  // PR c++/118961
  // { dg-additional-options "-fmodule-header -std=c++20" }
  // { dg-module-cmi {} }
+ // { dg-skip-if "required hosted libstdc++ for string" { ! hostedlib } }
  // We shouldn't ICE when linking against the standard library.
  
  #include <string>
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/modules/lto-3_b.C gcc-16-20260125/gcc/testsuite/g++.dg/modules/lto-3_b.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/modules/lto-3_b.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/modules/lto-3_b.C	Sun Jan 25 22:32:10 2026
***************
*** 2,7 ****
--- 2,8 ----
  // { dg-module-do link }
  // { dg-require-effective-target lto }
  // { dg-additional-options "-fmodules -flto -static -std=c++20" }
+ // { dg-skip-if "required hosted libstdc++ for string in lto-3_a.H" { ! hostedlib } }
  
  import "lto-3_a.H";
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/modules/pr98893_b.C gcc-16-20260125/gcc/testsuite/g++.dg/modules/pr98893_b.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/modules/pr98893_b.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/modules/pr98893_b.C	Sun Jan 25 22:32:10 2026
***************
*** 1,4 ****
--- 1,6 ----
  // { dg-additional-options "-fmodules" }
+ // { dg-require-effective-target cxa_atexit }
+ // { dg-additional-options "-fuse-cxa-atexit" }
  
  import "pr98893_a.H";
  static S b[1];
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/modules/xtreme-header-8.C gcc-16-20260125/gcc/testsuite/g++.dg/modules/xtreme-header-8.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/modules/xtreme-header-8.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/modules/xtreme-header-8.C	Sun Jan 25 22:32:10 2026
***************
*** 1,6 ****
--- 1,7 ----
  // PR c++/115126
  // { dg-additional-options "-fmodules-ts -Wtemplate-names-tu-local" }
  // { dg-module-cmi xstd }
+ // { dg-skip-if "required hosted libstdc++ for any in xtreme-header.h" { ! hostedlib } }
  
  export module xstd;
  extern "C++" {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/opt/pr119274.C gcc-16-20260125/gcc/testsuite/g++.dg/opt/pr119274.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/opt/pr119274.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/opt/pr119274.C	Sun Jan 25 22:32:10 2026
***************
*** 1,5 ****
--- 1,6 ----
  // { dg-do compile { target c++11 } }
  // { dg-options "-O2 -Wall" }
+ // { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
  
  #include <cstdlib>
  #include <vector>
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/opt/pr123724.C gcc-16-20260125/gcc/testsuite/g++.dg/opt/pr123724.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/opt/pr123724.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/g++.dg/opt/pr123724.C	Sun Jan 25 22:32:10 2026
***************
*** 0 ****
--- 1,31 ----
+ // PR target/123724
+ // { dg-do compile { target c++17 } }
+ // { dg-options "-O2 -g" }
+ 
+ namespace std {
+ template <typename T> struct initializer_list {
+   const T *_M_array;
+   decltype (sizeof 0) _M_len;
+   auto size () const { return _M_len; }
+   const T *begin () const { return _M_array; }
+   const T *end () const { return _M_array + _M_len; }
+ };
+ }
+ 
+ typedef std::initializer_list <int> A;
+ struct B {
+   int b, c;
+   short d[4][3];
+   void foo (int);
+   void bar (A x) { for (auto i : x) d[b][c] |= i; }
+ };
+ 
+ void
+ B::foo (int x)
+ {
+   for (int i = 0; i < x; i++)
+     {
+       A x = { 1, 2 };
+       bar (x);
+     }
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/parse/comma3.C gcc-16-20260125/gcc/testsuite/g++.dg/parse/comma3.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/parse/comma3.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/g++.dg/parse/comma3.C	Sun Jan 25 22:32:10 2026
***************
*** 0 ****
--- 1,22 ----
+ // PR c++/123737
+ // { dg-do run }
+ 
+ struct A {
+   A (int x) : a (0), e (x) {}
+   unsigned long a, e;
+   A &operator, (int) { ++a; return *this; }
+   ~A () { if (a != e) __builtin_abort (); }
+ };
+ 
+ int
+ main ()
+ {
+   A a = 131;
+   a, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/pr117222.C gcc-16-20260125/gcc/testsuite/g++.dg/pr117222.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/pr117222.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/pr117222.C	Sun Jan 25 22:32:10 2026
***************
*** 1,6 ****
--- 1,7 ----
  // { dg-do compile }
  // { dg-require-effective-target c++11 }
  // { dg-options "-O3 -fdump-tree-evrp" }
+ // { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
  
  #include <vector>
  int main()
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/pr122348.C gcc-16-20260125/gcc/testsuite/g++.dg/pr122348.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/pr122348.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/g++.dg/pr122348.C	Sun Jan 25 22:32:10 2026
***************
*** 0 ****
--- 1,13 ----
+ /* middle-end/122348 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+ 
+ struct S {
+     int a;
+     int b[];
+ };
+ const struct S s = { 0, { 42 } };
+ void foo(struct S arg);
+ void f(void) {
+     foo(s);
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/reflect/visibility1.C gcc-16-20260125/gcc/testsuite/g++.dg/reflect/visibility1.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/reflect/visibility1.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/reflect/visibility1.C	Sun Jan 25 22:32:10 2026
*************** inline void
*** 49,56 ****
  qux (int x)
  {
    int v = 42;
!   foo <106, ^^x> ();				// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi106EL" } } - var in inline fn - TODO, shall this be exported?
!   foo <107, ^^v> ();				// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi107EL" } } - var in inline fn - TODO, shall this be exported?
  }
  
  template <int N>
--- 49,56 ----
  qux (int x)
  {
    int v = 42;
!   foo <106, ^^x> ();				// { dg-final { scan-assembler "\t.weak\t_Z3fooILi106EL" } } - var in inline fn
!   foo <107, ^^v> ();				// { dg-final { scan-assembler "\t.weak\t_Z3fooILi107EL" } } - var in inline fn
  }
  
  template <int N>
*************** void
*** 58,65 ****
  plugh (int x)
  {
    int v = 42;
!   foo <132, ^^x> ();				// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi132EL" } } - var in public fn template instantiation - TODO, shall this be exported?
!   foo <133, ^^v> ();				// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi133EL" } } - var in public fn template instantiation - TODO, shall this be exported?
    foo <134, parameters_of (parent_of (^^v))[0]> (); // { dg-final { scan-assembler "\t.weak\t_Z3fooILi134EL" { target *-*-linux* } } } - fn parm of public fn template instantiation
  }
  
--- 58,65 ----
  plugh (int x)
  {
    int v = 42;
!   foo <132, ^^x> ();				// { dg-final { scan-assembler "\t.weak\t_Z3fooILi132EL" } } - var in public fn template instantiation
!   foo <133, ^^v> ();				// { dg-final { scan-assembler "\t.weak\t_Z3fooILi133EL" } } - var in public fn template instantiation
    foo <134, parameters_of (parent_of (^^v))[0]> (); // { dg-final { scan-assembler "\t.weak\t_Z3fooILi134EL" { target *-*-linux* } } } - fn parm of public fn template instantiation
  }
  
*************** void
*** 80,88 ****
  fred (int x)
  {
    int v = 42;
!   foo <138, ^^x> ();				// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi138EL" } } - var in TU-local fn template instantiation
!   foo <139, ^^v> ();				// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi139EL" } } - var in Tu-local fn template instantiation
!   foo <140, parameters_of (parent_of (^^v))[0]> (); // { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi140EL" { xfail *-*-* } } } - fn parm of TU-local fn template instantiation - TODO, I think this shouldn't be exported and the mangling of these 3 doesn't include the template parameter
  }
  
  [[=1]] void
--- 80,88 ----
  fred (int x)
  {
    int v = 42;
!   foo <138, ^^x> ();				// { dg-final { scan-assembler "\t.weak\t_Z3fooILi138EL" } } - var in fn template instantiation
!   foo <139, ^^v> ();				// { dg-final { scan-assembler "\t.weak\t_Z3fooILi139EL" } } - var in fn template instantiation
!   foo <140, parameters_of (parent_of (^^v))[0]> (); // { dg-final { scan-assembler "\t.weak\t_Z3fooILi140EL" } } - fn parm of fn template instantiation
  }
  
  [[=1]] void
*************** xyzzy (int x)
*** 108,115 ****
    foo <122, ^^G <int>> ();			// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi122EL" } } - specialization of TU-local template
    foo <123, ^^G <A>> ();			// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi123EL" } } - specialization of TU-local template
    foo <124, ^^G <B>> ();			// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi124EL" } } - specialization of TU-local template
!   foo <125, ^^x> ();				// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi125EL" } } - var in public fn but non-comdat - TODO, shall this be exported?
!   foo <126, ^^v> ();				// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi126EL" } } - var in public fn but non-comdat - TODO, shall this be exported?
    foo <127, std::meta::info {}> ();		// { dg-final { scan-assembler "\t.weak\t_Z3fooILi127EL" { target *-*-linux* } } } - null reflection
    foo <128, ^^b> ();				// { dg-final { scan-assembler "\t.weak\t_Z3fooILi128EL" { target *-*-linux* } } } - public variable
    foo <129, ^^c> ();				// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi129EL" } } - TU-local variable
--- 108,115 ----
    foo <122, ^^G <int>> ();			// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi122EL" } } - specialization of TU-local template
    foo <123, ^^G <A>> ();			// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi123EL" } } - specialization of TU-local template
    foo <124, ^^G <B>> ();			// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi124EL" } } - specialization of TU-local template
!   foo <125, ^^x> ();				// { dg-final { scan-assembler "\t.weak\t_Z3fooILi125EL" } } - var in public fn but non-comdat
!   foo <126, ^^v> ();				// { dg-final { scan-assembler "\t.weak\t_Z3fooILi126EL" } } - var in public fn but non-comdat
    foo <127, std::meta::info {}> ();		// { dg-final { scan-assembler "\t.weak\t_Z3fooILi127EL" { target *-*-linux* } } } - null reflection
    foo <128, ^^b> ();				// { dg-final { scan-assembler "\t.weak\t_Z3fooILi128EL" { target *-*-linux* } } } - public variable
    foo <129, ^^c> ();				// { dg-final { scan-assembler-not "\t.weak\t_Z3fooILi129EL" } } - TU-local variable
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/simulate-thread/simulate-thread.exp gcc-16-20260125/gcc/testsuite/g++.dg/simulate-thread/simulate-thread.exp
*** gcc-16-20260118/gcc/testsuite/g++.dg/simulate-thread/simulate-thread.exp	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/simulate-thread/simulate-thread.exp	Sun Jan 25 22:32:10 2026
*************** load_lib g++-dg.exp
*** 21,26 ****
--- 21,30 ----
  load_lib gcc-simulate-thread.exp
  load_lib torture-options.exp
  
+ if { [check_effective_target_simulator] } {
+     return
+ }
+ 
  dg-init
  torture-init
  set-torture-options [list \
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/torture/pr105769-1.C gcc-16-20260125/gcc/testsuite/g++.dg/torture/pr105769-1.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/torture/pr105769-1.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/torture/pr105769-1.C	Sun Jan 25 22:32:11 2026
***************
*** 1,4 ****
--- 1,5 ----
  // { dg-do run }
+ // { dg-skip-if "required hosted libstdc++ for functional function" { ! hostedlib } }
  
  // PR tree-optimization/105769
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/torture/pr118521.C gcc-16-20260125/gcc/testsuite/g++.dg/torture/pr118521.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/torture/pr118521.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/torture/pr118521.C	Sun Jan 25 22:32:11 2026
***************
*** 1,5 ****
--- 1,6 ----
  // { dg-do compile }
  // { dg-additional-options "-Wall" }
+ // { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
  
  #include <vector> // { dg-bogus "writing 1 byte into a region of size 0" "" { target *-*-* } 0 }
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/torture/pr123603.C gcc-16-20260125/gcc/testsuite/g++.dg/torture/pr123603.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/torture/pr123603.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/g++.dg/torture/pr123603.C	Sun Jan 25 22:32:11 2026
***************
*** 0 ****
--- 1,20 ----
+ // { dg-do compile }
+ 
+ void _setjmp();
+ void a() __attribute__((__noreturn__));
+ struct b {
+   b(int c) {
+     if (c)
+       a();
+   }
+   ~b();
+ };
+ int d;
+ void l(long);
+ void e() {
+   b a(d);
+   for (int f = 0; f < 10 ; ++f) {
+     l(f - 1);
+     _setjmp();
+   }
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/torture/pr123729.C gcc-16-20260125/gcc/testsuite/g++.dg/torture/pr123729.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/torture/pr123729.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/g++.dg/torture/pr123729.C	Sun Jan 25 22:32:11 2026
***************
*** 0 ****
--- 1,60 ----
+ // { dg-do compile }
+ // { dg-additional-options "-std=gnu++20" }
+ 
+ #include <csetjmp>
+ #include <iostream>
+ 
+ template <typename T> struct A { using type = int; };
+ template <typename F, typename... G> struct B {};
+ template <typename F> struct B<F> { using type = F; };
+ struct {
+   template <typename... F,
+             typename Overload = typename B<typename A<F>::type...>::type>
+   int operator()(F...) {
+     int iArrFld_0_0;
+     for (int i = 7; i < 28; ++i)
+       ;
+     int i1 = 3;
+     try {
+       for (int i = 7; i < 28; ++i) {
+         for (int j = 0; j < 7; ++j)
+           if (iArrFld_0_0 == 0) {
+             for (int k = 0; k < 20000; ++k)
+               std::cout << "Hello, world!" << std::endl;
+           }
+         jmp_buf env2;
+         for (int i2 = 16; i2 < 350; ++i2)
+           for (int j2 = 1; j2 < 75; ++j2)
+             for (int k2 = 0; k2 < 16; ++k2) {
+               int temp2 = i2 + j2 + k2;
+               int mod2 = temp2 % 8;
+               {
+                 setjmp(env2) == 0;
+                 ;
+               }
+             }
+       }
+     } catch (const std::exception &e) {
+     }
+     auto lambda = [](int x) {
+       return [x](int y) {
+         int z = 0;
+         if (y > 0)
+           z = 1;
+         return z + x;
+       };
+     };
+     for (int i = 0; i < 1000; ++i) {
+       int m = 0;
+       auto f = lambda(i);
+       for (int j = 0; j < 100; ++j)
+         m += f(j);
+       i1 += m;
+     }
+     std::cout << "Final value of i1: " << i1 << std::endl;
+     return 0;
+   }
+ } a;
+ int main() {
+   auto f = a([] {});
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-1.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-1.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-1.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-1.C	Sun Jan 25 22:32:11 2026
***************
*** 1,6 ****
--- 1,7 ----
  /* { dg-do compile } */
  /* { dg-options "-O2 -fdump-tree-cddce1-details -fdump-tree-optimized" } */
  // { dg-require-effective-target cxa_atexit }
+ // { dg-additional-options "-fuse-cxa-atexit" }
  /* PR tree-optimization/19661 */
  
  /* The call to axexit should be removed as A::~A() is a pure/const function call
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-2.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-2.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-2.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-2.C	Sun Jan 25 22:32:11 2026
***************
*** 1,6 ****
--- 1,7 ----
  /* { dg-do compile { target c++11 } } */
  /* { dg-options "-O2 -fdump-tree-cddce1-details -fdump-tree-optimized" } */
  // { dg-require-effective-target cxa_atexit }
+ // { dg-additional-options "-fuse-cxa-atexit" }
  /* PR tree-optimization/19661 */
  
  /* The call to axexit should be not removed as A::~A() as it marked with noipa.  */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-3.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-3.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-3.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-3.C	Sun Jan 25 22:32:11 2026
***************
*** 1,6 ****
--- 1,7 ----
  /* { dg-do compile } */
  /* { dg-options "-O2 -fdump-tree-cddce1-details -fdump-tree-optimized" } */
  // { dg-require-effective-target cxa_atexit }
+ // { dg-additional-options "-fuse-cxa-atexit" }
  /* PR tree-optimization/19661 */
  
  /* We should not remove the call to atexit as A::~A is unknown.  */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-4.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-4.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-4.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-4.C	Sun Jan 25 22:32:11 2026
***************
*** 1,6 ****
--- 1,7 ----
  /* { dg-do compile { target c++11 } } */
  /* { dg-options "-O2 -fdump-tree-cddce1-details -fdump-tree-optimized -w" } */
  // { dg-require-effective-target cxa_atexit }
+ // { dg-additional-options "-fuse-cxa-atexit" }
  /* PR tree-optimization/19661 */
  
  /* The call to axexit should be removed as A::~A() is a pure/const function call
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-5.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-5.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-5.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-5.C	Sun Jan 25 22:32:11 2026
***************
*** 1,6 ****
--- 1,7 ----
  /* { dg-do compile { target c++20 } } */
  /* { dg-options "-O2 -fdump-tree-dce2-details -fdump-tree-optimized" } */
  // { dg-require-effective-target cxa_atexit }
+ // { dg-additional-options "-fuse-cxa-atexit" }
  /* PR tree-optimization/19661 */
  
  /* The call to axexit should be removed as constant_init::~constant_init is a pure/const function call
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-6.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-6.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-6.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/cxa_atexit-6.C	Sun Jan 25 22:32:11 2026
***************
*** 2,7 ****
--- 2,8 ----
  /* { dg-require-effective-target fpic } */
  /* { dg-options "-O2 -fdump-tree-cddce1-details -fdump-tree-optimized -fPIC" } */
  // { dg-require-effective-target cxa_atexit }
+ // { dg-additional-options "-fuse-cxa-atexit" }
  /* This test is not appropriate for targets where non-weak functions defined
     in the TU always bind locally; see PR114982.  */
  /* { dg-skip-if "PR114982" { *-*-darwin* } } */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/deque-1.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/deque-1.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/deque-1.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/deque-1.C	Sun Jan 25 22:32:11 2026
***************
*** 1,5 ****
--- 1,7 ----
  // { dg-do compile } 
  // { dg-options "-O1 -fdump-tree-optimized" }
+ // { dg-skip-if "required hosted libstdc++ for deque" { ! hostedlib } }
+ 
  #include <deque>
  void
  test(std::deque<int> &q, int v)
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/deque-2.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/deque-2.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/deque-2.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/deque-2.C	Sun Jan 25 22:32:11 2026
***************
*** 1,5 ****
--- 1,7 ----
  // { dg-do compile }
  // { dg-options "-O3 -fdump-tree-optimized" }
+ // { dg-skip-if "required hosted libstdc++ for deque" { ! hostedlib } }
+ 
  #include <deque>
  std::deque<int *>
  test2(std::deque<int *> &q)
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/pr109442.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/pr109442.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/pr109442.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/pr109442.C	Sun Jan 25 22:32:11 2026
***************
*** 1,5 ****
--- 1,7 ----
  // { dg-do compile { target c++11 } }
  // { dg-options "-O2 -fdump-tree-optimized" }
+ // { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
+ 
  #include <vector>
  #define T int
  T vat1(std::vector<T> v1) {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/pr110819.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/pr110819.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/pr110819.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/pr110819.C	Sun Jan 25 22:32:11 2026
***************
*** 1,5 ****
--- 1,7 ----
  // { dg-do compile { target c++11 } }
  // { dg-options "-O1 -fdump-tree-optimized" }
+ // { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
+ 
  #include<vector>
  
  void f(int);
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/pr116868.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/pr116868.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/pr116868.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/pr116868.C	Sun Jan 25 22:32:11 2026
***************
*** 1,5 ****
--- 1,7 ----
  // { dg-do compile { target c++11 } }
  // { dg-options "-O2 -fdump-tree-optimized" }
+ // { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
+ 
  #include <vector>
  int sumVector() {
      const std::vector<int> vec = {1};
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/pr58483.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/pr58483.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/pr58483.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/pr58483.C	Sun Jan 25 22:32:11 2026
***************
*** 1,5 ****
--- 1,7 ----
  // { dg-do compile { target c++11 } }
  // { dg-options "-O1 -fdump-tree-optimized" }
+ // { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
+ 
  #include<vector>
  
  void f(int);
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/pr80331.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/pr80331.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/pr80331.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/pr80331.C	Sun Jan 25 22:32:11 2026
***************
*** 1,5 ****
--- 1,7 ----
  // { dg-do compile }
  // { dg-additional-options "-O2 -fdump-tree-optimized" }
+ // { dg-skip-if "required hosted libstdc++ for string" { ! hostedlib } }
+ 
  #include<string>
  int sain() {
    const std::string remove_me("remove_me");
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/pr87502.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/pr87502.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/pr87502.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/pr87502.C	Sun Jan 25 22:32:11 2026
***************
*** 1,5 ****
--- 1,7 ----
  // { dg-do compile }
  // { dg-additional-options "-O2 -fdump-tree-optimized" }
+ // { dg-skip-if "required hosted libstdc++ for string" { ! hostedlib } }
+ 
  #include <string>
  
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/pr96945.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/pr96945.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/pr96945.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/pr96945.C	Sun Jan 25 22:32:11 2026
***************
*** 1,5 ****
--- 1,7 ----
  // { dg-do compile { target c++11 } }
  // { dg-options "-O1 -fdump-tree-optimized" }
+ // { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
+ 
  #include <vector>
  struct c {
      c() = default;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/string-1.C gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/string-1.C
*** gcc-16-20260118/gcc/testsuite/g++.dg/tree-ssa/string-1.C	Sun Jan 18 22:32:09 2026
--- gcc-16-20260125/gcc/testsuite/g++.dg/tree-ssa/string-1.C	Sun Jan 25 22:32:11 2026
***************
*** 1,5 ****
--- 1,7 ----
  /* { dg-do compile } */
  /* { dg-options "-O3 -std=c++20 -fdump-tree-optimized" } */
+ // { dg-skip-if "required hosted libstdc++ for string" { ! hostedlib } }
+ 
  #include <string>
  std::string
  test (std::string &a)
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.old-deja/g++.mike/eh30.C gcc-16-20260125/gcc/testsuite/g++.old-deja/g++.mike/eh30.C
*** gcc-16-20260118/gcc/testsuite/g++.old-deja/g++.mike/eh30.C	Sun Jan 18 22:32:10 2026
--- gcc-16-20260125/gcc/testsuite/g++.old-deja/g++.mike/eh30.C	Sun Jan 25 22:32:12 2026
***************
*** 1,4 ****
! // { dg-do assemble { target native } }
  // { dg-options "-fexceptions -fPIC -S" }
  
  int
--- 1,4 ----
! // { dg-do assemble }
  // { dg-options "-fexceptions -fPIC -S" }
  
  int
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.old-deja/g++.mike/p4750.C gcc-16-20260125/gcc/testsuite/g++.old-deja/g++.mike/p4750.C
*** gcc-16-20260118/gcc/testsuite/g++.old-deja/g++.mike/p4750.C	Sun Jan 18 22:32:10 2026
--- gcc-16-20260125/gcc/testsuite/g++.old-deja/g++.mike/p4750.C	Sun Jan 25 22:32:12 2026
***************
*** 1,4 ****
! // { dg-do assemble { target native } }
  // { dg-options "-fpic -pedantic-errors -S" }
  // prms-id: 4750
  
--- 1,4 ----
! // { dg-do assemble }
  // { dg-options "-fpic -pedantic-errors -S" }
  // prms-id: 4750
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.old-deja/g++.robertl/eb106.C gcc-16-20260125/gcc/testsuite/g++.old-deja/g++.robertl/eb106.C
*** gcc-16-20260118/gcc/testsuite/g++.old-deja/g++.robertl/eb106.C	Sun Jan 18 22:32:10 2026
--- gcc-16-20260125/gcc/testsuite/g++.old-deja/g++.robertl/eb106.C	Sun Jan 25 22:32:12 2026
***************
*** 1,4 ****
! // { dg-do assemble { target native } }
  // { dg-options "-O2 -fPIC " }
  struct T
  {
--- 1,4 ----
! // { dg-do assemble }
  // { dg-options "-O2 -fPIC " }
  struct T
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.old-deja/g++.robertl/eb83.C gcc-16-20260125/gcc/testsuite/g++.old-deja/g++.robertl/eb83.C
*** gcc-16-20260118/gcc/testsuite/g++.old-deja/g++.robertl/eb83.C	Sun Jan 18 22:32:10 2026
--- gcc-16-20260125/gcc/testsuite/g++.old-deja/g++.robertl/eb83.C	Sun Jan 25 22:32:12 2026
***************
*** 1,4 ****
! // { dg-do run { target native } }
  // { dg-options "-fprofile-arcs -ftest-coverage" }
  void
  test_swap(int& x, int& y) throw()
--- 1,4 ----
! // { dg-do run }
  // { dg-options "-fprofile-arcs -ftest-coverage" }
  void
  test_swap(int& x, int& y) throw()
diff -Nrcpad gcc-16-20260118/gcc/testsuite/g++.target/loongarch/pr117575.C gcc-16-20260125/gcc/testsuite/g++.target/loongarch/pr117575.C
*** gcc-16-20260118/gcc/testsuite/g++.target/loongarch/pr117575.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/g++.target/loongarch/pr117575.C	Sun Jan 25 22:32:12 2026
***************
*** 0 ****
--- 1,81 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O3 -mlasx" } */
+ 
+ typedef long unsigned int size_t;
+ typedef unsigned char simde__mmask8;
+ typedef double simde_float64;
+ typedef simde_float64 simde__m512d __attribute__ ((__aligned__ ((64))))
+ __attribute__ ((__vector_size__ (64))) __attribute__ ((__may_alias__));
+ typedef simde_float64 simde__m256d __attribute__ ((__aligned__ ((32))))
+ __attribute__ ((__vector_size__ (32))) __attribute__ ((__may_alias__));
+ simde__m512d simde_mm512_set_pd (simde_float64 e7, simde_float64 e6,
+                                  simde_float64 e5, simde_float64 e4,
+                                  simde_float64 e3, simde_float64 e2,
+                                  simde_float64 e1, simde_float64 e0);
+ simde__m256d simde_mm256_maskz_mov_pd (simde__mmask8 k, simde__m256d a);
+ int simde_test_x86_assert_equal_f64x4_ (simde__m256d a, simde__m256d b);
+ 
+ typedef union
+ {
+ 
+   __attribute__ ((__aligned__ ((32)))) simde_float64 f64
+       __attribute__ ((__vector_size__ (32))) __attribute__ ((__may_alias__));
+ } simde__m256d_private;
+ __attribute__ ((__always_inline__)) inline static simde__m256d
+ simde__m256d_from_private (simde__m256d_private v)
+ {
+   simde__m256d r;
+   __builtin_memcpy (&r, &v, sizeof (r));
+   return r;
+ }
+ simde__m256d
+ simde_mm256_set_pd (simde_float64 e3, simde_float64 e2, simde_float64 e1,
+                     simde_float64 e0)
+ {
+ 
+   simde__m256d_private r_;
+ 
+   r_.f64[0] = e0;
+   r_.f64[1] = e1;
+   r_.f64[2] = e2;
+   r_.f64[3] = e3;
+ 
+   return simde__m256d_from_private (r_);
+ }
+ 
+ simde__m256d simde_mm512_extractf64x4_pd (simde__m512d a, int imm8);
+ int
+ test_simde_mm512_maskz_extractf64x4_pd (void)
+ {
+   const struct
+   {
+     simde__mmask8 k;
+     simde__m512d a;
+     simde__m256d r0;
+     simde__m256d r1;
+   } test_vec[2] = {
+     { 21,
+       simde_mm512_set_pd (-139.11, -172.36, -268.86, 393.53, -71.72, 36.69,
+                           98.47, -135.52),
+       simde_mm256_set_pd (0.00, 36.69, 0.00, -135.52),
+       simde_mm256_set_pd (0.00, -172.36, 0.00, 393.53) },
+     { 150,
+       simde_mm512_set_pd (-556.90, 522.06, 160.98, -932.28, 391.82, 600.12,
+                           -569.99, -491.12),
+       simde_mm256_set_pd (0.00, 600.12, -569.99, 0.00),
+       simde_mm256_set_pd (0.00, 522.06, 160.98, 0.00) },
+   };
+ 
+   for (size_t i = 0; i < (sizeof (test_vec) / sizeof (test_vec[0])); i++)
+     {
+       simde__m256d r;
+       r = simde_mm256_maskz_mov_pd (
+           test_vec[i].k, simde_mm512_extractf64x4_pd (test_vec[i].a, 0));
+       if (simde_test_x86_assert_equal_f64x4_ (r, test_vec[i].r0))
+         {
+           return 1;
+         }
+     }
+ 
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.c-torture/compile/pr123703.c gcc-16-20260125/gcc/testsuite/gcc.c-torture/compile/pr123703.c
*** gcc-16-20260118/gcc/testsuite/gcc.c-torture/compile/pr123703.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.c-torture/compile/pr123703.c	Sun Jan 25 22:32:13 2026
***************
*** 0 ****
--- 1,10 ----
+ /* PR middle-end/123703 */
+ 
+ struct S { int a; };
+ struct S abs (int);
+ 
+ struct S
+ bar (int j)
+ {
+   return abs (j);
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.c-torture/execute/pr123753.c gcc-16-20260125/gcc/testsuite/gcc.c-torture/execute/pr123753.c
*** gcc-16-20260118/gcc/testsuite/gcc.c-torture/execute/pr123753.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.c-torture/execute/pr123753.c	Sun Jan 25 22:32:13 2026
***************
*** 0 ****
--- 1,25 ----
+ /* PR tree-optimization/123753 */
+ 
+ typedef int V __attribute__((__vector_size__ (8)));
+ typedef short W __attribute__((__vector_size__ (8)));
+ 
+ union { unsigned short u[4]; W w; } u;
+ V v;
+ 
+ V
+ foo ()
+ {
+   u.w--;
+   V r = v + u.u[0];
+   return r;
+ }
+ 
+ int
+ main ()
+ {
+   if (sizeof (int) != 4 || sizeof (short) != 2)
+     return 0;
+   V x = foo ();
+   if (x[0] != (unsigned short) -1 || x[1] != (unsigned short) -1)
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/20020201-1.c gcc-16-20260125/gcc/testsuite/gcc.dg/20020201-1.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/20020201-1.c	Sun Jan 18 22:32:10 2026
--- gcc-16-20260125/gcc/testsuite/gcc.dg/20020201-1.c	Sun Jan 25 22:32:13 2026
***************
*** 5,11 ****
     call-clobbered global pointer.  */
  
  /* { dg-options "-fprofile-arcs" } */
! /* { dg-do run { target native } } */
  
  #include <stdlib.h>
  
--- 5,11 ----
     call-clobbered global pointer.  */
  
  /* { dg-options "-fprofile-arcs" } */
! /* { dg-do run } */
  
  #include <stdlib.h>
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/analyzer/pr93355-localealias.c gcc-16-20260125/gcc/testsuite/gcc.dg/analyzer/pr93355-localealias.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/analyzer/pr93355-localealias.c	Sun Jan 18 22:32:10 2026
--- gcc-16-20260125/gcc/testsuite/gcc.dg/analyzer/pr93355-localealias.c	Sun Jan 25 22:32:13 2026
*************** read_alias_file (fname, fname_len)
*** 298,304 ****
  
  	      if (nmap >= maxmap)
  		if (__builtin_expect (extend_alias_table (), 0))
! 		  return added; /* { dg-warning "leak of FILE 'fp'" "" { xfail *-*-* } } */
  
  	      alias_len = strlen (alias) + 1;
  	      value_len = strlen (value) + 1;
--- 298,304 ----
  
  	      if (nmap >= maxmap)
  		if (__builtin_expect (extend_alias_table (), 0))
! 		  return added; /* { dg-warning "leak of FILE 'fp'" } */
  
  	      alias_len = strlen (alias) + 1;
  	      value_len = strlen (value) + 1;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/dfp/c23-decimal64x-1.c gcc-16-20260125/gcc/testsuite/gcc.dg/dfp/c23-decimal64x-1.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/dfp/c23-decimal64x-1.c	Sun Jan 18 22:32:10 2026
--- gcc-16-20260125/gcc/testsuite/gcc.dg/dfp/c23-decimal64x-1.c	Sun Jan 25 22:32:13 2026
***************
*** 1,5 ****
  /* Test _Decimal64x in C23 mode.  */
- /* { dg-do run } */
  /* { dg-options "-std=c23 -pedantic-errors" } */
  
  int a = (int) 1.1D64x;
--- 1,4 ----
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/dfp/c23-decimal64x-3.c gcc-16-20260125/gcc/testsuite/gcc.dg/dfp/c23-decimal64x-3.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/dfp/c23-decimal64x-3.c	Sun Jan 18 22:32:10 2026
--- gcc-16-20260125/gcc/testsuite/gcc.dg/dfp/c23-decimal64x-3.c	Sun Jan 25 22:32:13 2026
***************
*** 1,5 ****
  /* Test _Decimal64x in C23 mode - builtins.  */
- /* { dg-do run } */
  /* { dg-options "-std=c23 -pedantic-errors" } */
  
  _Decimal64x a = __builtin_infd64x ();
--- 1,4 ----
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/guality/guality.exp gcc-16-20260125/gcc/testsuite/gcc.dg/guality/guality.exp
*** gcc-16-20260118/gcc/testsuite/gcc.dg/guality/guality.exp	Sun Jan 18 22:32:10 2026
--- gcc-16-20260125/gcc/testsuite/gcc.dg/guality/guality.exp	Sun Jan 25 22:32:13 2026
*************** if { [istarget *-*-darwin*] } {
*** 8,13 ****
--- 8,17 ----
      return
  }
  
+ if { [check_effective_target_simulator] } {
+     return
+ }
+ 
  if { [istarget hppa*-*-hpux*] } {
      return
  }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/maxof-compile.c gcc-16-20260125/gcc/testsuite/gcc.dg/maxof-compile.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/maxof-compile.c	Sun Jan 18 22:32:10 2026
--- gcc-16-20260125/gcc/testsuite/gcc.dg/maxof-compile.c	Sun Jan 25 22:32:13 2026
*************** type (void)
*** 156,158 ****
--- 156,167 ----
    _Generic (_Maxof (bool), bool: 0);
    _Generic (_Minof (bool), bool: 0);
  }
+ 
+ void
+ quals (void)
+ {
+   _Generic (typeof (_Maxof (const int)), int: 0);
+   _Generic (typeof (_Minof (const int)), int: 0);
+   _Generic (typeof (_Maxof (volatile int)), int: 0);
+   _Generic (typeof (_Minof (volatile int)), int: 0);
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/pr122348.c gcc-16-20260125/gcc/testsuite/gcc.dg/pr122348.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/pr122348.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/pr122348.c	Sun Jan 25 22:32:13 2026
***************
*** 0 ****
--- 1,13 ----
+ /* middle-end/122348 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+ 
+ struct S {
+     int a;
+     int b[];
+ };
+ const struct S s = { 0, { 42 } };
+ void foo(struct S arg);
+ void f(void) {
+     foo(s);
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/pr123314.c gcc-16-20260125/gcc/testsuite/gcc.dg/pr123314.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/pr123314.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/pr123314.c	Sun Jan 25 22:32:13 2026
***************
*** 0 ****
--- 1,17 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O3" } */
+ /* { dg-additional-options "-march=armv9-a" { target aarch64*-*-* } } */
+ /* { dg-additional-options "-march=skylake-avx512" { target x86_64*-*-* } } */
+ 
+ extern char a[];
+ extern short b[], c[];
+ extern int h[];
+ void i() {
+   for (char d;;)
+     for (int e = 0; e < 9; e++) {
+       for (int f; f < 9; f += 4)
+         c[d] = 0;
+       for (int g = 0; g < 9; g += 3)
+         h[1 + d] = (a[d] ? a[3] : 7 ? b[7] : 0) / 6;
+     }
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/pr123656.c gcc-16-20260125/gcc/testsuite/gcc.dg/pr123656.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/pr123656.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/pr123656.c	Sun Jan 25 22:32:13 2026
***************
*** 0 ****
--- 1,21 ----
+ /* PR tree-optimization/123656 */
+ /* { dg-do run } */
+ /* { dg-options "-Og -Wno-psabi" } */
+ 
+ #define C 210
+ 
+ typedef __attribute__((__vector_size__ (2))) unsigned char V;
+ 
+ V
+ foo (V v)
+ {
+   return v * C;
+ }
+ 
+ int
+ main ()
+ {
+   V x = foo ((V) {1, 1});
+   if (x[0] != C || x[1] != C)
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/pr123803-1.c gcc-16-20260125/gcc/testsuite/gcc.dg/pr123803-1.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/pr123803-1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/pr123803-1.c	Sun Jan 25 22:32:13 2026
***************
*** 0 ****
--- 1,10 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fno-strict-overflow" } */
+ /* PR tree-optimization/123803 */
+ 
+ /* SLSR with wrapping pointers converted the new
+    nhs2 into the pointer type instead of sizetype. */
+ int f(int *x1,__SIZE_TYPE__ n) {
+   return *(x1 + n) +
+   *(x1 + 3 * n);
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp gcc-16-20260125/gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp
*** gcc-16-20260118/gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp	Sun Jan 18 22:32:10 2026
--- gcc-16-20260125/gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp	Sun Jan 25 22:32:13 2026
*************** load_lib gcc-dg.exp
*** 20,25 ****
--- 20,29 ----
  load_lib gcc-simulate-thread.exp
  load_lib torture-options.exp
  
+ if { [check_effective_target_simulator] } {
+     return
+ }
+ 
  if { [istarget "powerpc-ibm-aix*"] } {
      set torture_execute_xfail "powerpc-ibm-aix*"
      return
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr113026-1.c gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr113026-1.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr113026-1.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr113026-1.c	Sun Jan 25 22:32:13 2026
*************** void
*** 9,13 ****
  foo (char *src, long n)
  {
    for (long i = 0; i < n; i++)
!     dst[i] = src[i]; /* { dg-bogus "" } */
  }
--- 9,13 ----
  foo (char *src, long n)
  {
    for (long i = 0; i < n; i++)
!     dst[i] = src[i]; /* { dg-bogus "" "PR118504" { xfail { { arm-*-eabi arm-*-vxworks* sparc-leon3-elf } || { ilp32 && { { riscv*-*-* powerpc*-*-* } || { x86 && *-*-vxworks* } } } } } } */
  }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr120258-1.c gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr120258-1.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr120258-1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr120258-1.c	Sun Jan 25 22:32:13 2026
***************
*** 0 ****
--- 1,12 ----
+ /* { dg-do run } */
+ /* PR tree-optimization/120258 */
+ /* SLSR would introduce an addition and multiplication
+    that would have undefined behavior with respect to overflow
+    and that would cause the following to be incorrect. */
+ 
+ int a = 1, b, c;
+ int main() {
+   c = -__INT_MAX__* b - __INT_MAX__* a;
+   if (b - __INT_MAX__ * a >= 0)
+     __builtin_abort();
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr123061.c gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr123061.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr123061.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr123061.c	Sun Jan 25 22:32:13 2026
***************
*** 0 ****
--- 1,29 ----
+ /* { dg-do run } */
+ /* { dg-additional-options "-ffinite-loops" } */
+ 
+ int a, b, c;
+ int d() {
+   while (a)
+     ;
+   return 0;
+ }
+ static int e(int f, int g) {
+   c = f;
+   while (1) {
+     f = 0;
+     do {
+       c = -c;
+       if (c >= 0)
+         goto h;
+     } while (-1 / b);
+     return d();
+   h:
+     b = g;
+   }
+ }
+ int main()
+ {
+   while (e(-4, 3))
+     ;
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr123144.c gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr123144.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr123144.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr123144.c	Sun Jan 25 22:32:13 2026
***************
*** 0 ****
--- 1,41 ----
+ /* { dg-do compile } */
+ /* { dg-additional-options "-w" } */
+ /* { dg-additional-options "-mcpu=power8" { target powerpc64*-*-* } } */
+ 
+ #include <stdint.h>
+ #define BS_VEC(type, num) type __attribute__((vector_size(num * sizeof(type))))
+ int8_t backsmith_snippet_893(int8_t BS_ARG_1, BS_VEC(uint8_t, 32) BS_ARG_5)
+ {
+     BS_VEC(uint16_t, 8) BS_VAR_0;
+     for (;;)
+         for (uint64_t BS_INC_1 = 0; BS_INC_1 < 13; BS_INC_1 += 1)
+         {
+             if (BS_ARG_5[2])
+                 for (;;)
+                     __builtin_convertvector((BS_VEC(int8_t, 16)){},
+                                             BS_VEC(uint8_t, 16));
+             uint8_t BS_TEMP_59 = __builtin_convertvector(
+                 __builtin_shufflevector(
+                     __builtin_convertvector((BS_VEC(int8_t, 4)){},
+                                             BS_VEC(uint16_t, 4)),
+                     __builtin_convertvector((BS_VEC(int8_t, 4)){ BS_ARG_1 },
+                                             BS_VEC(uint16_t, 4)),
+                     4, 2, 2, 2, 6, 3, 0, 0, 3, 2, 1, 2, 4, 0, 1, 4, 2, 0, 3, 6,
+                     4, 3, 1, 0, 2, 5, 3, 7, 4, 2, 4, 2),
+                 BS_VEC(uint8_t, 32))[(BS_INC_1 ? BS_VAR_0[3] : 2) ?: 2];
+             uint8_t BS_TEMP_60 = BS_TEMP_59;
+             for (; BS_TEMP_60;)
+                 ;
+             BS_VEC(uint32_t, 8)
+             BS_TEMP_68 = __builtin_convertvector(
+                 __builtin_convertvector(
+                     (BS_VEC(uint64_t, 8)){ BS_INC_1, BS_INC_1, BS_INC_1,
+                                            BS_INC_1, BS_INC_1, BS_INC_1,
+                                            BS_INC_1, BS_INC_1 },
+                     BS_VEC(uint16_t, 8)),
+                 BS_VEC(uint32_t, 8));
+             BS_VAR_0[BS_INC_1 < 8 ? BS_INC_1 : 0] = BS_TEMP_68[0]
+                 * BS_TEMP_68[1] * BS_TEMP_68[2] * BS_TEMP_68[3] * BS_TEMP_68[4]
+                 * 6 * BS_TEMP_68[7];
+         }
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr123175-1.c gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr123175-1.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr123175-1.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr123175-1.c	Sun Jan 25 22:32:13 2026
***************
*** 1,8 ****
  /* { dg-do run } */
  /* { dg-additional-options "-fgimple" } */
  
! typedef int v4si __attribute__((vector_size(16)));
! typedef int v2si __attribute__((vector_size(8)));
  typedef char v4qi __attribute__((vector_size(4)));
  
  v4si res;
--- 1,8 ----
  /* { dg-do run } */
  /* { dg-additional-options "-fgimple" } */
  
! typedef __INT32_TYPE__ v4si __attribute__((vector_size(16)));
! typedef __INT32_TYPE__ v2si __attribute__((vector_size(8)));
  typedef char v4qi __attribute__((vector_size(4)));
  
  v4si res;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr123175-2.c gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr123175-2.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr123175-2.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr123175-2.c	Sun Jan 25 22:32:13 2026
***************
*** 1,8 ****
  /* { dg-do run } */
  /* { dg-additional-options "-fgimple" } */
  
! typedef int v4si __attribute__((vector_size(16)));
! typedef int v2si __attribute__((vector_size(8)));
  typedef char v4qi __attribute__((vector_size(4)));
  
  v4si res;
--- 1,8 ----
  /* { dg-do run } */
  /* { dg-additional-options "-fgimple" } */
  
! typedef __INT32_TYPE__ v4si __attribute__((vector_size(16)));
! typedef __INT32_TYPE__ v2si __attribute__((vector_size(8)));
  typedef char v4qi __attribute__((vector_size(4)));
  
  v4si res;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr123636.c gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr123636.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr123636.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr123636.c	Sun Jan 25 22:32:13 2026
***************
*** 0 ****
--- 1,26 ----
+ /* { dg-do run } */
+ 
+ int main()
+ {
+   int g_58;
+   _Bool g_170 = 0;
+   int m = 0;
+   for (int i = 0; i < 2; i++)
+     {
+       int arr[3] = {};
+ label:
+       g_58 = g_170 == 0;
+       for (int a = 0; a < 3; a++)
+ 	m += arr[a];
+       for (int j = 0; j != 7; ++j)
+ 	for (int k = 0; k < 2; k++)
+ 	  {
+ 	    --g_170;
+ 	    if (g_58) goto label;
+ 	    arr[0] = 2;
+ 	  }
+     }
+   if (m != 0)
+     __builtin_abort();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr123745-1.c gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr123745-1.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr123745-1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr123745-1.c	Sun Jan 25 22:32:13 2026
***************
*** 0 ****
--- 1,20 ----
+ /* { dg-do compile } */
+ /* PR tree-optimization/123745 */
+ 
+ struct b {
+   unsigned long c;
+   unsigned long d;
+ };
+ void l(struct b *);
+ typedef int v4i __attribute__((vector_size(4*sizeof(int))));
+ v4i t;
+ v4i t1;
+ void m(int n) {
+   struct b o;
+   v4i t2 = t;
+   t1 = t2;
+   o.d = 1LU << n;
+   unsigned long g = t2[0];
+   o.c = g << n;
+   l(&o);
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr123778-1.c gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr123778-1.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/torture/pr123778-1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/torture/pr123778-1.c	Sun Jan 25 22:32:13 2026
***************
*** 0 ****
--- 1,20 ----
+ /* { dg-do compile } */
+ /* { dg-options "-fgimple" } */
+ 
+ /* PR tree-optimization/123778 */
+ 
+ typedef char (*t)[3];
+ long __GIMPLE(ssa) f(char a, int d)
+ {
+   _Bool _107;
+   __PTRDIFF_TYPE__ _14;
+   char *_36;
+ 
+ __BB(2):
+   _107 = a_2(D) != _Literal (char) 0;
+   _36 = _107
+       ? _Literal (t)&__MEM <char[3]> ((void *)_Literal (t)&d + _Literal (void *) 2)
+       : _Literal (t)&__MEM <char[3]> ((void *)_Literal (t)&d + _Literal (void *) 3);
+   _14 = _36 - _Literal (char*)&d;
+   return _14;
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/tree-ssa/ldexp.c gcc-16-20260125/gcc/testsuite/gcc.dg/tree-ssa/ldexp.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/tree-ssa/ldexp.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.dg/tree-ssa/ldexp.c	Sun Jan 25 22:32:14 2026
***************
*** 3,8 ****
--- 3,10 ----
  
  /* { dg-final { scan-assembler-not "\tfmul\t" } } */
  
+ #include "../builtins-config.h"
+ 
  #define TEST(TYPE, BUILTIN, CONST, NAME)                       \
    TYPE test_##NAME##_1(TYPE a, int i)                          \
    {                                                            \
***************
*** 28,32 ****
--- 30,38 ----
    }
  
  TEST(double, ldexp, 8.0, double_ldexp)
+ #ifdef HAVE_C99_RUNTIME
+ /* If libc is not known to have these functions, introduced in C99, the
+    compiler won't optimize them.  */
  TEST(float, ldexpf, 8.0f, float_ldexp)
  TEST(long double, ldexpl, 8.0L, long_ldexp)
+ #endif
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/tree-ssa/pr46555.c gcc-16-20260125/gcc/testsuite/gcc.dg/tree-ssa/pr46555.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/tree-ssa/pr46555.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.dg/tree-ssa/pr46555.c	Sun Jan 25 22:32:14 2026
*************** int f(int a, int b, int c)
*** 25,28 ****
  /* Make sure we only have a PHI with 2 arguments here, 2 and 4.  */
  /* { dg-final { scan-tree-dump "PHI <2..., 4...>|PHI <4..., 2...>" "optimized" } } */
  /* Make sure we can shrink wrap the function now too. */
! /* { dg-final { scan-rtl-dump "Performing shrink-wrapping" "pro_and_epilogue" { target { { { i?86-*-* x86_64-*-* } && { ! ia32 } } || { powerpc*-*-* aarch64*-*-* riscv*-*-* arm*-*-* }  } } } } */
--- 25,28 ----
  /* Make sure we only have a PHI with 2 arguments here, 2 and 4.  */
  /* { dg-final { scan-tree-dump "PHI <2..., 4...>|PHI <4..., 2...>" "optimized" } } */
  /* Make sure we can shrink wrap the function now too. */
! /* { dg-final { scan-rtl-dump "Performing shrink-wrapping" "pro_and_epilogue" { target { { { i?86-*-* x86_64-*-* } && { ! ia32 } } || { { powerpc*-*-* aarch64*-*-* riscv*-*-* } || { arm*-*-* && { ! arm_thumb1 } } } } } } } */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/tree-ssa/slsr-8.c gcc-16-20260125/gcc/testsuite/gcc.dg/tree-ssa/slsr-8.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/tree-ssa/slsr-8.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.dg/tree-ssa/slsr-8.c	Sun Jan 25 22:32:14 2026
*************** f (int s, int *c, int *d)
*** 23,29 ****
     However, this proves to be a useful test for introducing an
     initializer with a cast, so we'll keep it as is.  */
  
! /* There are 5 ' * ' instances in the decls (since "int * iftmp.0;" is
!    added), 2 parms, 3 in the code, and the return value.  The second one
     in the code may be a widening multiply (for example, on AArch64).  */
! /* { dg-final { scan-tree-dump-times " w?\\* " 10 "optimized" } } */
--- 23,29 ----
     However, this proves to be a useful test for introducing an
     initializer with a cast, so we'll keep it as is.  */
  
! /* There are 2 ' * ' instances in the decls (holding x1 and a temp),
!    2 parms, 3 in the code, and the return type.  The second one
     in the code may be a widening multiply (for example, on AArch64).  */
! /* { dg-final { scan-tree-dump-times " w?\\* " 8 "optimized" } } */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-26.c gcc-16-20260125/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-26.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-26.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-26.c	Sun Jan 25 22:32:14 2026
***************
*** 0 ****
--- 1,18 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O -fdump-tree-lim2-details" } */
+ 
+ void foo (int n, int m, int *a, int *p, int * __restrict q)
+ {
+   for (int i = 0; i < n; ++i)
+     {
+       int j = 0;
+       do
+         {
+           q[j] = *a * p[i];
+         }
+       while (++j < m);
+     }
+ }
+ 
+ /* Verify we can hoist *a two levels.  */ 
+ /* { dg-final { scan-tree-dump-times "out of loop 1" 1 "lim2" } } */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr123603.c gcc-16-20260125/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr123603.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr123603.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr123603.c	Sun Jan 25 22:32:14 2026
***************
*** 0 ****
--- 1,15 ----
+ /* { dg-do compile } */
+ /* { dg-additional-options "--param ix86-vect-compare-costs=1" } */
+ 
+ void foo (int *block)
+ {
+   for (int i = 0; i < 3; ++i)
+     {
+       int a = block[i*9];
+       int b = block[i*9+1];
+       block[i*9] = a + 10;
+       block[i*9+1] = b + 10;
+     }
+ }
+ 
+ /* { dg-final { scan-tree-dump "optimized: loop vectorized using 8 byte vectors" "vect" } } */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-epil-1.c gcc-16-20260125/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-epil-1.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-epil-1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-epil-1.c	Sun Jan 25 22:32:14 2026
***************
*** 0 ****
--- 1,58 ----
+ /* { dg-do compile } */
+ /* { dg-additional-options "-mavx512bw -mtune-ctrl=avx512_masked_epilogues" } */
+ 
+ void test (const unsigned char * __restrict__ pi,
+ 	   const float * __restrict__ blk,
+ 	   int texel_count,
+ 	   float *pp_avg_rgb)
+ {
+     float pp_avg_rgb_0 = 0.0f;
+     float pp_avg_rgb_1 = 0.0f;
+     float pp_avg_rgb_2 = 0.0f;
+     float pp_avg_rgb_3 = 0.0f;
+     for (int lane_id = 0; lane_id < texel_count; lane_id++) {
+         unsigned char r_byte = pi[lane_id * 4 + 0];
+         unsigned char g_byte = pi[lane_id * 4 + 1];
+         unsigned char b_byte = pi[lane_id * 4 + 2];
+         unsigned char a_byte = pi[lane_id * 4 + 3];
+ 
+         float r_float = blk[lane_id * 4 + 0];
+         float g_float = blk[lane_id * 4 + 1];
+         float b_float = blk[lane_id * 4 + 2];
+         float a_float = blk[lane_id * 4 + 3];
+ 
+         int r_is_zero = (r_byte == 0) ? 1 : 0;
+         int r_in_bounds = (texel_count > lane_id) ? 1 : 0;
+         int r_mask = r_is_zero * (-r_in_bounds);
+         if (r_mask != 0) {
+             pp_avg_rgb_0 += r_float;
+         }
+         int g_is_zero = (g_byte == 0) ? 1 : 0;
+         int g_in_bounds = (texel_count > lane_id) ? 1 : 0;
+         int g_mask = g_is_zero * (-g_in_bounds);
+         if (g_mask != 0) {
+             pp_avg_rgb_1 += g_float;
+         }
+         int b_is_zero = (b_byte == 0) ? 1 : 0;
+         int b_in_bounds = (texel_count > lane_id) ? 1 : 0;
+         int b_mask = b_is_zero * (-b_in_bounds);
+         if (b_mask != 0) {
+             pp_avg_rgb_2 += b_float;
+         }
+         int a_is_zero = (a_byte == 0) ? 1 : 0;
+         int a_in_bounds = (texel_count > lane_id) ? 1 : 0;
+         int a_mask = a_is_zero * (-a_in_bounds);
+         if (a_mask != 0) {
+             pp_avg_rgb_3 += a_float;
+         }
+     }
+     pp_avg_rgb[0] = pp_avg_rgb_0;
+     pp_avg_rgb[1] = pp_avg_rgb_1;
+     pp_avg_rgb[2] = pp_avg_rgb_2;
+     pp_avg_rgb[3] = pp_avg_rgb_3;
+ }
+ 
+ /* Even though there's an SLP opportunity in-order reductions should never use
+    masked epilogs.  */
+ /* { dg-final { scan-tree-dump "optimized: loop vectorized using 64 byte vectors" "vect" } } */
+ /* { dg-final { scan-tree-dump "optimized: epilogue loop vectorized using 32 byte vectors" "vect" } } */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/vect/pr123731.c gcc-16-20260125/gcc/testsuite/gcc.dg/vect/pr123731.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/vect/pr123731.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/vect/pr123731.c	Sun Jan 25 22:32:14 2026
***************
*** 0 ****
--- 1,28 ----
+ /* { dg-do run } */
+ 
+ typedef unsigned short A __attribute__ ((vector_size (4 * sizeof (short))));
+ typedef short B __attribute__ ((vector_size (8 * sizeof (short))));
+ typedef unsigned C __attribute__ ((vector_size (4 * sizeof (int))));
+ unsigned long long c;
+ 
+ __attribute__ ((noipa)) void
+ foo (A *a)
+ {
+   C b[9] = {};
+   unsigned d = __builtin_convertvector (
+   __builtin_shufflevector ((A) {}, *a, 0, 5, 7, 3, 6, 2, 5, 4), B)[2];
+   b[0] += (C) {d, d, d, d};
+   c += b[0][0];
+ }
+ 
+ int
+ main ()
+ {
+   A t = (A) {0, 0, 0, -6};
+   foo (&t);
+   if (sizeof (short) == 2
+       && sizeof (int) == 4
+       && __CHAR_BIT__ == 8
+       && c != -6U)
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/vect/vect-pr123697.c gcc-16-20260125/gcc/testsuite/gcc.dg/vect/vect-pr123697.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/vect/vect-pr123697.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/vect/vect-pr123697.c	Sun Jan 25 22:32:14 2026
***************
*** 0 ****
--- 1,13 ----
+ /* { dg-do compile } */
+ /* { dg-additional-options "-O3" } */
+ 
+ struct a {
+   int c[2];
+ };
+ struct a d[3];
+ double f;
+ void g()
+ {
+   for (int e = 0; e < 3; ++e)
+     f += d[e].c[1];
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/vect/vect-pr123755.c gcc-16-20260125/gcc/testsuite/gcc.dg/vect/vect-pr123755.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/vect/vect-pr123755.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/vect/vect-pr123755.c	Sun Jan 25 22:32:14 2026
***************
*** 0 ****
--- 1,12 ----
+ /* { dg-do compile } */
+ 
+ float a[4], b[4];
+ 
+ int
+ main ()
+ {
+   int i;
+   for (i = 0; i < 4; ++i)
+     b[i] = __builtin_fma (1024.0f, 1024.0f, a[i]);
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.dg/vect/vect-pr123756.c gcc-16-20260125/gcc/testsuite/gcc.dg/vect/vect-pr123756.c
*** gcc-16-20260118/gcc/testsuite/gcc.dg/vect/vect-pr123756.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.dg/vect/vect-pr123756.c	Sun Jan 25 22:32:14 2026
***************
*** 0 ****
--- 1,9 ----
+ /* { dg-do compile } */
+ 
+ double
+ foo (double m, float *ptr)
+ {
+   for (int i = 0; i < 256; i++)
+     m = __builtin_fmax (m, ptr[i]);
+   return m;
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-1.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-1.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-1.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-1.c	Sun Jan 25 22:32:14 2026
***************
*** 1,7 ****
  /* Test Gcov basics.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  void noop ()
  {
--- 1,7 ----
  /* Test Gcov basics.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  void noop ()
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-10.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-10.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-10.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-10.c	Sun Jan 25 22:32:14 2026
***************
*** 1,7 ****
  /* Test gcov block mode.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  int main ()
  {
--- 1,7 ----
  /* Test gcov block mode.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  int main ()
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-10b.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-10b.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-10b.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-10b.c	Sun Jan 25 22:32:14 2026
***************
*** 1,7 ****
  /* Test gcov block mode.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  int main ()
  {
--- 1,7 ----
  /* Test gcov block mode.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  int main ()
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-11.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-11.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-11.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-11.c	Sun Jan 25 22:32:14 2026
***************
*** 1,7 ****
  /* Test gcov block mode.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  int one = 1; /* subvert constant folder. */
  int zero = 0;
--- 1,7 ----
  /* Test gcov block mode.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  int one = 1; /* subvert constant folder. */
  int zero = 0;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-12.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-12.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-12.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-12.c	Sun Jan 25 22:32:14 2026
***************
*** 1,6 ****
  /* Test gcov weak ellision.  */
  
! /* { dg-do run { target native } } */
  /* { dg-require-weak "" } */
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
  
--- 1,6 ----
  /* Test gcov weak ellision.  */
  
! /* { dg-do run } */
  /* { dg-require-weak "" } */
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-13.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-13.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-13.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-13.c	Sun Jan 25 22:32:14 2026
***************
*** 1,6 ****
  /* Test gcov weak ellision.  */
  
! /* { dg-do run { target native } } */
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
  /* { dg-require-weak "" } */
  /* { dg-additional-sources "gcovpart-13b.c" } */
--- 1,6 ----
  /* Test gcov weak ellision.  */
  
! /* { dg-do run } */
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
  /* { dg-require-weak "" } */
  /* { dg-additional-sources "gcovpart-13b.c" } */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-14.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-14.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-14.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-14.c	Sun Jan 25 22:32:14 2026
***************
*** 1,6 ****
  /* Test gcov extern inline.  */
  
! /* { dg-do run { target native } } */
  /* { dg-options "-O2 -fprofile-arcs -ftest-coverage -fgnu89-inline" } */
  /* The following line arranges that Darwin has behavior like elf weak import.  */
  /* { dg-additional-options "-Wl,-U,_Foo" { target *-*-darwin* }  } */
--- 1,6 ----
  /* Test gcov extern inline.  */
  
! /* { dg-do run } */
  /* { dg-options "-O2 -fprofile-arcs -ftest-coverage -fgnu89-inline" } */
  /* The following line arranges that Darwin has behavior like elf weak import.  */
  /* { dg-additional-options "-Wl,-U,_Foo" { target *-*-darwin* }  } */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-15.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-15.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-15.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-15.c	Sun Jan 25 22:32:14 2026
***************
*** 1,7 ****
  /* Test gcov multiple paths to file.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  #if !RECURSIVE
  #define RECURSIVE 1
--- 1,7 ----
  /* Test gcov multiple paths to file.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  #if !RECURSIVE
  #define RECURSIVE 1
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-16.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-16.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-16.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-16.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  void
  bar (void)
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  void
  bar (void)
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-17.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-17.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-17.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-17.c	Sun Jan 25 22:32:14 2026
*************** by both branches of the condition in <bb
*** 22,28 ****
  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  unsigned int
  UuT (void)
--- 22,28 ----
  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  unsigned int
  UuT (void)
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-18.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-18.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-18.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-18.c	Sun Jan 25 22:32:14 2026
***************
*** 3,9 ****
     just once.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  int a = 0;
  
--- 3,9 ----
     just once.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  int a = 0;
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-19.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-19.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-19.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-19.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fcondition-coverage -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  /* Some side effect to stop branches from being pruned.  */
  int x = 0;
--- 1,5 ----
  /* { dg-options "-fcondition-coverage -ftest-coverage" } */
! /* { dg-do run } */
  
  /* Some side effect to stop branches from being pruned.  */
  int x = 0;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-1a.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-1a.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-1a.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-1a.c	Sun Jan 25 22:32:14 2026
***************
*** 1,7 ****
  /* Test Gcov basics.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage -fprofile-abs-path" } */
! /* { dg-do run { target native } } */
  
  void noop ()
  {
--- 1,7 ----
  /* Test Gcov basics.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage -fprofile-abs-path" } */
! /* { dg-do run } */
  
  void noop ()
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-2.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-2.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-2.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-2.c	Sun Jan 25 22:32:14 2026
***************
*** 1,7 ****
  /* Test Gcov basics.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage -g" } */
! /* { dg-do run { target native } } */
  
  void noop ()
  {
--- 1,7 ----
  /* Test Gcov basics.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage -g" } */
! /* { dg-do run } */
  
  void noop ()
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-20.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-20.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-20.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-20.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fcondition-coverage -ftest-coverage -fprofile-update=atomic" } */
! /* { dg-do run { target native } } */
  /* { dg-require-effective-target profile_update_atomic } */
  
  /* Some side effect to stop branches from being pruned */
--- 1,5 ----
  /* { dg-options "-fcondition-coverage -ftest-coverage -fprofile-update=atomic" } */
! /* { dg-do run } */
  /* { dg-require-effective-target profile_update_atomic } */
  
  /* Some side effect to stop branches from being pruned */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-22.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-22.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-22.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-22.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fcondition-coverage -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  #include <setjmp.h>
  jmp_buf buf;
--- 1,5 ----
  /* { dg-options "-fcondition-coverage -ftest-coverage" } */
! /* { dg-do run } */
  
  #include <setjmp.h>
  jmp_buf buf;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-24.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-24.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-24.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-24.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  int main()
  {
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  int main()
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-25.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-25.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-25.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-25.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  /* Filters are considered in order with latest-wins, so if a function is
     included and later excluded it should not show up.  */
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  /* Filters are considered in order with latest-wins, so if a function is
     included and later excluded it should not show up.  */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-26.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-26.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-26.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-26.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  /* Filters are considered in order with latest-wins, so if a function is
     excluded and later included it should show up.  */
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  /* Filters are considered in order with latest-wins, so if a function is
     excluded and later included it should show up.  */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-27.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-27.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-27.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-27.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  /* If only --exclude is used, other functions should be used by default.  */
  
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  /* If only --exclude is used, other functions should be used by default.  */
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-28.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-28.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-28.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-28.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  int
  once (int x)
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  int
  once (int x)
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-29.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-29.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-29.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-29.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "--coverage -fpath-coverage" } */
! /* { dg-do run { target native } } */
  
  void
  pathcov001a ()
--- 1,5 ----
  /* { dg-options "--coverage -fpath-coverage" } */
! /* { dg-do run } */
  
  void
  pathcov001a ()
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-3.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-3.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-3.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-3.c	Sun Jan 25 22:32:14 2026
***************
*** 1,4 ****
! /* { dg-do run { target native } } */
  /* { dg-require-effective-target label_values } */
  
  /* Test Gcov with computed gotos.
--- 1,4 ----
! /* { dg-do run } */
  /* { dg-require-effective-target label_values } */
  
  /* Test Gcov with computed gotos.
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-30.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-30.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-30.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-30.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "--coverage -fpath-coverage -fprofile-update=atomic" } */
! /* { dg-do run { target native } } */
  
  void
  pathcov001a ()
--- 1,5 ----
  /* { dg-options "--coverage -fpath-coverage -fprofile-update=atomic" } */
! /* { dg-do run } */
  
  void
  pathcov001a ()
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-33.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-33.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-33.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-33.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "--coverage -fpath-coverage" } */
! /* { dg-do run { target native } } */
  
  /* BEGIN paths
     summary: 1/2
--- 1,5 ----
  /* { dg-options "--coverage -fpath-coverage" } */
! /* { dg-do run } */
  
  /* BEGIN paths
     summary: 1/2
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-34.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-34.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-34.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-34.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "--coverage -fpath-coverage" } */
! /* { dg-do run { target native } } */
  
  /* BEGIN paths
     summary: 1/2
--- 1,5 ----
  /* { dg-options "--coverage -fpath-coverage" } */
! /* { dg-do run } */
  
  /* BEGIN paths
     summary: 1/2
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-4.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-4.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-4.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-4.c	Sun Jan 25 22:32:14 2026
***************
*** 2,8 ****
     correctly by gcov. */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  extern void abort (void);
  
--- 2,8 ----
     correctly by gcov. */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  extern void abort (void);
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-4b.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-4b.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-4b.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-4b.c	Sun Jan 25 22:32:14 2026
***************
*** 2,8 ****
     correctly by gcov. */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  extern void abort (void);
  
--- 2,8 ----
     correctly by gcov. */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  extern void abort (void);
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-5b.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-5b.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-5b.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-5b.c	Sun Jan 25 22:32:14 2026
***************
*** 2,8 ****
     that are large enough to hold the count. */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  #define LIMIT1 7000
  #define LIMIT2 7000
--- 2,8 ----
     that are large enough to hold the count. */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  #define LIMIT1 7000
  #define LIMIT2 7000
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-6.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-6.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-6.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-6.c	Sun Jan 25 22:32:14 2026
***************
*** 4,10 ****
     for call return percentages was added.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  extern void exit (int);
  
--- 4,10 ----
     for call return percentages was added.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  extern void exit (int);
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-7.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-7.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-7.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-7.c	Sun Jan 25 22:32:14 2026
***************
*** 2,8 ****
   * and call return percentages for functions that call longjmp. */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  #include <setjmp.h>
  
--- 2,8 ----
   * and call return percentages for functions that call longjmp. */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  #include <setjmp.h>
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-8.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-8.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-8.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-8.c	Sun Jan 25 22:32:14 2026
***************
*** 6,12 ****
  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  int proxy (int i)
  {
--- 6,12 ----
  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  int proxy (int i)
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-9.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-9.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-9.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-9.c	Sun Jan 25 22:32:14 2026
***************
*** 1,7 ****
  /* Test gcov block mode.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  int main ()
  {
--- 1,7 ----
  /* Test gcov block mode.  */
  
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  int main ()
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr83813.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr83813.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr83813.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr83813.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  union U
  {
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  union U
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr84758.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr84758.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr84758.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr84758.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  int x, y;
  
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  int x, y;
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr85217.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr85217.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr85217.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr85217.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  int a=0;
  
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  int a=0;
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr85332.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr85332.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr85332.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr85332.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  int doit(int sel, int n, void *p)
  {
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  int doit(int sel, int n, void *p)
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr85338.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr85338.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr85338.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr85338.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  void Test(long long Val, int Amt)
  {
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  void Test(long long Val, int Amt)
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr85350.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr85350.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr85350.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr85350.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  int main (void)
  {
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  int main (void)
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr85372.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr85372.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr85372.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr85372.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  /* { dg-require-effective-target indirect_jumps } */
  
  void *buf[5];
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  /* { dg-require-effective-target indirect_jumps } */
  
  void *buf[5];
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr86536.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr86536.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr86536.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr86536.c	Sun Jan 25 22:32:14 2026
***************
*** 1,6 ****
  // PR gcov-profile/86536
  // { dg-options "-fprofile-arcs -ftest-coverage" }
! // { dg-do run { target native } }
  // { dg-require-fork "" }
  
  #include <stdlib.h>
--- 1,6 ----
  // PR gcov-profile/86536
  // { dg-options "-fprofile-arcs -ftest-coverage" }
! // { dg-do run }
  // { dg-require-fork "" }
  
  #include <stdlib.h>
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr90574-1.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr90574-1.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr90574-1.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr90574-1.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  int main(int argc, char **argv)
  {
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  int main(int argc, char **argv)
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr90574-2.c gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr90574-2.c
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/gcov-pr90574-2.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/gcov-pr90574-2.c	Sun Jan 25 22:32:14 2026
***************
*** 1,5 ****
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  int main(int argc, char **argv)
  {
--- 1,5 ----
  /* { dg-options "-fprofile-arcs -ftest-coverage" } */
! /* { dg-do run } */
  
  int main(int argc, char **argv)
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.misc-tests/help.exp gcc-16-20260125/gcc/testsuite/gcc.misc-tests/help.exp
*** gcc-16-20260118/gcc/testsuite/gcc.misc-tests/help.exp	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.misc-tests/help.exp	Sun Jan 25 22:32:14 2026
*************** check_for_options c "--help=joined,undoc
*** 144,150 ****
  # find the source a failure.
  
  foreach cls { "ada" "c" "c++" "d" "fortran" "go" \
! 		"common" "optimizers" "param" "target" "warnings" } {
      check_for_options c "--help=$cls" "" "^ +-.*\[^:.\]$" ""
  }
  
--- 144,151 ----
  # find the source a failure.
  
  foreach cls { "ada" "c" "c++" "d" "fortran" "go" \
! 	      "objc" "objc++" "rust" "modula-2" "cobol" "algol68" \
! 	      "common" "optimizers" "param" "target" "warnings" } {
      check_for_options c "--help=$cls" "" "^ +-.*\[^:.\]$" ""
  }
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/aarch64/acle/fp8-helpers-neon.c gcc-16-20260125/gcc/testsuite/gcc.target/aarch64/acle/fp8-helpers-neon.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/aarch64/acle/fp8-helpers-neon.c	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.target/aarch64/acle/fp8-helpers-neon.c	Sun Jan 25 22:32:14 2026
*************** test_prepare_fpmr_sysreg ()
*** 10,16 ****
  {
  
  #define _S_EQ(expr, expected)                                                  \
!   _Static_assert (expr == expected, #expr " == " #expected)
  
    _S_EQ (__arm_fpm_init (), 0);
  
--- 10,16 ----
  {
  
  #define _S_EQ(expr, expected)                                                  \
!   __extension__ _Static_assert (expr == expected, #expr " == " #expected)
  
    _S_EQ (__arm_fpm_init (), 0);
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/aarch64/sve/pr123697.c gcc-16-20260125/gcc/testsuite/gcc.target/aarch64/sve/pr123697.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/aarch64/sve/pr123697.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/aarch64/sve/pr123697.c	Sun Jan 25 22:32:14 2026
***************
*** 0 ****
--- 1,13 ----
+ /* { dg-do compile } */
+ /* { dg-options "-msve-vector-bits=128 -mmax-vectorization -O3" } */
+ 
+ struct a {
+   int c[2];
+ };
+ struct a d[3];
+ double f;
+ void g()
+ {
+   for (int e = 0; e < 3; ++e)
+     f += d[e].c[1];
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/aarch64/sve/pr123767.c gcc-16-20260125/gcc/testsuite/gcc.target/aarch64/sve/pr123767.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/aarch64/sve/pr123767.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/aarch64/sve/pr123767.c	Sun Jan 25 22:32:14 2026
***************
*** 0 ****
--- 1,35 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=armv9-a -O3 -mmax-vectorization -msve-vector-bits=128 -mautovec-preference=sve-only -fdump-tree-vect-details" } */
+ 
+ struct partition_elem
+ {
+   int class_element;
+   struct partition_elem* next;
+   unsigned class_count;
+ };
+ 
+ typedef struct partition_def
+ {
+   int num_elements;
+   struct partition_elem elements[1];
+ } *partition;
+ 
+ partition part;
+ 
+ partition
+ partition_new (int num_elements)
+ {
+   int e;
+ 
+   /* No need to allocate memory, just a compile test.  */
+   for (e = 0; e < num_elements; ++e)
+     {
+       part->elements[e].class_element = e;
+       part->elements[e].next = &(part->elements[e]);
+       part->elements[e].class_count = 1;
+     }
+ 
+   return part;
+ }
+ 
+ /* { dg-final { scan-tree-dump-not "\\{ 0, 576 \\}" "vect" } } */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/aarch64/sve2/pr123775.c gcc-16-20260125/gcc/testsuite/gcc.target/aarch64/sve2/pr123775.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/aarch64/sve2/pr123775.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/aarch64/sve2/pr123775.c	Sun Jan 25 22:32:14 2026
***************
*** 0 ****
--- 1,37 ----
+ /* { dg-do run } */
+ /* { dg-additional-options "-O3 -march=armv9-a+sve2 -msve-vector-bits=128 --param aarch64-autovec-preference=sve-only" } */
+ 
+ int main(int argc, char *argv[]) {
+ 
+     __attribute__((vector_size((4) * sizeof(int)))) int i0;
+     __attribute__((vector_size((4) * sizeof(int)))) int i1;
+     __attribute__((vector_size((4) * sizeof(int)))) int ires;
+     int i;
+ 
+     i0 = (__attribute__((vector_size((4) * sizeof(int)))) int){(int)argc, 1, 2,
+                                                                10};
+     i1 = (__attribute__((vector_size((4) * sizeof(int)))) int){0, 3, 2,
+                                                                (int)-23};
+     ;
+     do {
+         ires = (i0 > i1);
+         do {
+             int __i;
+             for (__i = 0; __i < 4; __i++) {
+                 if ((ires)[__i] != ((i0)[__i] > (i1)[__i] ? -1 : 0)) {
+                     __builtin_printf("%i != (("
+                                      "%i"
+                                      " "
+                                      ">"
+                                      " "
+                                      "%i"
+                                      " ? -1 : 0) ",
+                                      (ires)[__i], (i0)[__i], (i1)[__i]);
+                     __builtin_abort();
+                 }
+             }
+         } while (0);
+     } while (0);
+ 
+     return 0;
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/aarch64/test_frame_common.h gcc-16-20260125/gcc/testsuite/gcc.target/aarch64/test_frame_common.h
*** gcc-16-20260118/gcc/testsuite/gcc.target/aarch64/test_frame_common.h	Sun Jan 18 22:32:11 2026
--- gcc-16-20260125/gcc/testsuite/gcc.target/aarch64/test_frame_common.h	Sun Jan 25 22:32:14 2026
*************** initialize_array (unsigned char *a, int
*** 51,57 ****
  }
  
  #define t_frame_pattern(name, local_size, callee_saved)\
! int \
  name (void)\
  {\
    unsigned char a[local_size];\
--- 51,57 ----
  }
  
  #define t_frame_pattern(name, local_size, callee_saved)\
! int __attribute__ ((noinline, noclone)) \
  name (void)\
  {\
    unsigned char a[local_size];\
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/aarch64/torture/xar-zero.c gcc-16-20260125/gcc/testsuite/gcc.target/aarch64/torture/xar-zero.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/aarch64/torture/xar-zero.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/aarch64/torture/xar-zero.c	Sun Jan 25 22:32:14 2026
***************
*** 0 ****
--- 1,9 ----
+ /* PR target/123584.  */
+ /* { dg-do compile } */
+ /* { dg-options "-march=armv8.2-a+sha3" } */
+ 
+ #include <arm_neon.h>
+ uint64x2_t
+ simde_vld1q_u64(uint64x2_t simde_vld1q_u64_a, uint64x2_t simde_vld1q_u64_b) {
+   return vxarq_u64(simde_vld1q_u64_a, simde_vld1q_u64_b, 0);
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/arm/neon-smax16.c gcc-16-20260125/gcc/testsuite/gcc.target/arm/neon-smax16.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/arm/neon-smax16.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/arm/neon-smax16.c	Sun Jan 25 22:32:14 2026
***************
*** 0 ****
--- 1,14 ----
+ /* { dg-do compile } */
+ /* { dg-require-effective-target arm_v8_2a_fp16_neon_ok } */
+ /* { dg-add-options arm_v8_2a_fp16_neon } */
+ /* { dg-additional-options "-std=c23 -Ofast" } */
+ void foo(void);
+ extern _Float16 main_in[];
+ void bar() {
+   _Float16 out = 0.0;
+   for (int i = 0; i < 100; i++)
+     if (out < main_in[i])
+       out = main_in[i];
+   if (out)
+     foo();
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/arm/neon-smin16.c gcc-16-20260125/gcc/testsuite/gcc.target/arm/neon-smin16.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/arm/neon-smin16.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/arm/neon-smin16.c	Sun Jan 25 22:32:14 2026
***************
*** 0 ****
--- 1,14 ----
+ /* { dg-do compile } */
+ /* { dg-require-effective-target arm_v8_2a_fp16_neon_ok } */
+ /* { dg-add-options arm_v8_2a_fp16_neon } */
+ /* { dg-additional-options "-std=c23 -Ofast" } */
+ void foo(void);
+ extern _Float16 main_in[];
+ void bar() {
+   _Float16 out = 0.0;
+   for (int i = 0; i < 100; i++)
+     if (out > main_in[i])
+       out = main_in[i];
+   if (out)
+     foo();
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/arm/simd/bf16_vstn_1.c gcc-16-20260125/gcc/testsuite/gcc.target/arm/simd/bf16_vstn_1.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/arm/simd/bf16_vstn_1.c	Sun Jan 18 22:32:12 2026
--- gcc-16-20260125/gcc/testsuite/gcc.target/arm/simd/bf16_vstn_1.c	Sun Jan 25 22:32:14 2026
*************** test_vst3_bf16 (bfloat16_t *ptr, bfloat1
*** 46,52 ****
  /*
  **test_vst3q_bf16:
  **      ...
! **	vst3.16	{d17, d19, d21}, \[r0\]
  **	bx	lr
  */
  void
--- 46,52 ----
  /*
  **test_vst3q_bf16:
  **      ...
! **	vst3.16	{d1, d3, d5}, \[r0\]
  **	bx	lr
  */
  void
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/arm/thumb2-pop-loreg.c gcc-16-20260125/gcc/testsuite/gcc.target/arm/thumb2-pop-loreg.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/arm/thumb2-pop-loreg.c	Sun Jan 18 22:32:12 2026
--- gcc-16-20260125/gcc/testsuite/gcc.target/arm/thumb2-pop-loreg.c	Sun Jan 25 22:32:14 2026
***************
*** 1,6 ****
  /* { dg-do compile } */
  /* { dg-require-effective-target arm_thumb2_ok } */
! /* { dg-options "-Os" } */
  
  int __attribute__((noinline)) f (void)
  {
--- 1,6 ----
  /* { dg-do compile } */
  /* { dg-require-effective-target arm_thumb2_ok } */
! /* { dg-options "-Os -mthumb" } */
  
  int __attribute__((noinline)) f (void)
  {
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/i386/apx-broadcast.c gcc-16-20260125/gcc/testsuite/gcc.target/i386/apx-broadcast.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/i386/apx-broadcast.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/i386/apx-broadcast.c	Sun Jan 25 22:32:15 2026
***************
*** 0 ****
--- 1,24 ----
+ /* { dg-do assemble { target { apxf && { ! ia32 } } } } */
+ /* { dg-options "-mavx512vl -mapxf -O2" } */
+ 
+ #include <stdint.h>
+ #include <immintrin.h>
+ 
+ void broadcast_avx2(int *sx, __m256i *coeff, __m128i *temp) {
+   
+   __m256i semp[8];
+ 
+ 
+   for (int i = 0; i < 8; i++)
+     {
+       asm volatile ("" : : : "r8", "r9", "r10", "r11", "r12", "r13",
+ 		    "r14", "r15", "rax", "rcx", "rsi", "rdi", "rdx");
+       register volatile uint64_t sm asm ("%r16") = i;
+       semp[i] = _mm256_broadcastsi128_si256(temp[sm]);
+     }
+ 
+   coeff[0] = _mm256_unpacklo_epi64(semp[0], semp[1]);
+   coeff[1] = _mm256_unpackhi_epi64(semp[2], semp[3]);
+   coeff[2] = _mm256_unpacklo_epi64(semp[4], semp[5]);
+   coeff[3] = _mm256_unpackhi_epi64(semp[6], semp[7]);
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/i386/avx512bw-pr123744.c gcc-16-20260125/gcc/testsuite/gcc.target/i386/avx512bw-pr123744.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/i386/avx512bw-pr123744.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/i386/avx512bw-pr123744.c	Sun Jan 25 22:32:15 2026
***************
*** 0 ****
--- 1,19 ----
+ /* PR middle-end/123744 */
+ /* { dg-do compile } */
+ /* { dg-options "-O3 -mavx512bw" } */
+ 
+ int c, d, e;
+ long long a;
+ signed char *b;
+ short f;
+ 
+ void
+ foo (short i[][7][7], char j[][7][7])
+ {
+   for (int h = 0; h < 128; h++)
+     {
+       c = e ? b[1] : 0;
+       if (a)
+ 	d = (f ? j[0][0][1] : i[4][4][1]) / 12;
+     }
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/i386/pr123585.c gcc-16-20260125/gcc/testsuite/gcc.target/i386/pr123585.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/i386/pr123585.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/i386/pr123585.c	Sun Jan 25 22:32:15 2026
***************
*** 0 ****
--- 1,66 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -mavx2" } */
+ typedef signed char int8_t;
+ typedef unsigned char uint8_t;
+ typedef unsigned short uint16_t;
+ typedef int int32_t;
+ typedef unsigned int uint32_t;
+ typedef long long int64_t;
+ typedef unsigned long long uint64_t;
+ 
+ #define BS_VEC(type, num) type __attribute__((vector_size(num * sizeof(type))))
+ inline int32_t backsmith_snippet_1141(BS_VEC(uint16_t, 32),
+                                       BS_VEC(int32_t, 4) BS_ARG_1) {
+   BS_ARG_1[0] = 2;
+   BS_ARG_1 = __builtin_convertvector(
+       __builtin_shufflevector(
+           __builtin_shufflevector(
+               (BS_VEC(uint8_t, 2)){},
+               __builtin_convertvector(
+                   __builtin_shufflevector(
+                       BS_ARG_1, BS_ARG_1, 7, 3, 3, 7, 4, 2, 0, 3, 4, 2, 5, 0, 0,
+                       1, 7, 7, 0, 2, 2, 3, 5, 4, 2, 6, 2, 3, 3, 7, 3, 1, 7, 3),
+                   BS_VEC(uint8_t, 32)),
+               0, 3, 3, 1, 2, 8, 1, 2, 5, 5, 0, 2, 0, 3, 6, 8),
+           __builtin_shufflevector(
+               (BS_VEC(uint8_t, 2)){},
+               __builtin_convertvector(
+                   __builtin_shufflevector(
+                       BS_ARG_1, BS_ARG_1, 7, 3, 3, 7, 4, 2, 0, 3, 4, 2, 5, 0, 0,
+                       1, 7, 7, 0, 2, 2, 3, 5, 4, 2, 6, 2, 3, 3, 7, 3, 1, 7, 3),
+                   BS_VEC(uint8_t, 32)),
+               0, 3, 3, 1, 2, 8, 1, 2, 5, 5, 0, 2, 0, 3, 6, 8),
+           5, 9, 6, 6),
+       BS_VEC(int32_t, 4));
+   BS_ARG_1[4 ? BS_ARG_1[3] : 0] = 0;
+   return BS_ARG_1[2];
+ }
+ int64_t backsmith_snippet_82(BS_VEC(uint64_t, 4), uint64_t, BS_VEC(uint32_t, 8),
+                              BS_VEC(int8_t, 32));
+ uint64_t backsmith_pure_5(BS_VEC(uint32_t, 2) BS_ARG_0) {
+   int64_t BS_VAR_2;
+   uint32_t BS_VAR_3[8];
+   BS_VEC(uint32_t, 32) BS_VAR_7;
+   BS_VEC(int64_t, 4) BS_VAR_9;
+   BS_VEC(int32_t, 4)
+   BS_TEMP_132 = __builtin_convertvector(
+       __builtin_shufflevector(BS_ARG_0, BS_ARG_0, 1, 0, 3, 0),
+       BS_VEC(int32_t, 4));
+   BS_VAR_3[8 ? backsmith_snippet_1141(
+                    __builtin_convertvector(BS_VAR_7, BS_VEC(uint16_t, 32)),
+                    (BS_VEC(int32_t, 4)){BS_TEMP_132[0], BS_TEMP_132[1],
+                                         BS_TEMP_132[2], BS_TEMP_132[3]})
+              : 0] |= 107245995;
+   uint64_t BS_TEMP_134;
+   uint32_t BS_TEMP_135 = __builtin_sub_overflow(
+       0,
+       backsmith_snippet_82(
+           __builtin_convertvector(BS_VAR_9, BS_VEC(uint64_t, 4)), 0,
+           __builtin_shufflevector(BS_VAR_7, BS_VAR_7, 8, 8, 4, 4, 5, 0, 5, 0),
+           (BS_VEC(int8_t, 32)){}),
+       &BS_TEMP_134);
+   uint32_t BS_TEMP_136 = BS_TEMP_135 ? BS_VAR_3[0] : 0;
+   uint32_t BS_TEMP_137 = BS_TEMP_136;
+   for (; BS_TEMP_137;)
+     ;
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/riscv/pr121787-1.c gcc-16-20260125/gcc/testsuite/gcc.target/riscv/pr121787-1.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/riscv/pr121787-1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/riscv/pr121787-1.c	Sun Jan 25 22:32:15 2026
***************
*** 0 ****
--- 1,20 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=rv64gcv -mabi=lp64 -O" { target rv64 } } */
+ /* { dg-options "-march=rv32gcv -mabi=ilp32 -O" { target rv32 } } */
+ 
+ #include <stdint-gcc.h>
+ typedef int a;
+ int32_t b, e;
+ int32_t **c;
+ uint8_t d(int32_t *, int32_t *, uint16_t, const int32_t *, int32_t **);
+ uint32_t f() {
+   uint16_t g;
+   d(0, &b, g, &b, c);
+   e = (__attribute__((__vector_size__(sizeof(a)))) a){}[4];
+ }
+ uint8_t d(int32_t *, int32_t *, uint16_t, const int32_t *, int32_t **) {
+   asm goto("" : : : : i);
+ i:
+ j:
+   asm goto("" : : : : j);
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/riscv/pr121787-2.c gcc-16-20260125/gcc/testsuite/gcc.target/riscv/pr121787-2.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/riscv/pr121787-2.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/riscv/pr121787-2.c	Sun Jan 25 22:32:15 2026
***************
*** 0 ****
--- 1,20 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=rv64gcv -mabi=lp64 -O" { target rv64 } } */
+ /* { dg-options "-march=rv32gcv -mabi=ilp32 -O" { target rv32 } } */
+ 
+ #include <stdint-gcc.h>
+ typedef int a;
+ int32_t b, e;
+ int32_t **c;
+ uint8_t d(int32_t *, int32_t *, uint16_t, const int32_t *, int32_t **);
+ uint32_t f(int a1) {
+   uint16_t g;
+   d(0, &b, g, &b, c);
+   e = (__attribute__((__vector_size__(sizeof(a)*16))) a){}[a1];
+ }
+ uint8_t d(int32_t *, int32_t *, uint16_t, const int32_t *, int32_t **) {
+   asm goto("#asm1" : : : : i);
+ i:
+ j:
+   asm goto("#asm2" : : : : j);
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/riscv/pr123380.c gcc-16-20260125/gcc/testsuite/gcc.target/riscv/pr123380.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/riscv/pr123380.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/riscv/pr123380.c	Sun Jan 25 22:32:15 2026
***************
*** 0 ****
--- 1,18 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=rv64gc -mabi=lp64d -O2" { target { rv64 } } } */
+ /* { dg-options "-march=rv32gc -mabi=ilp32d -O2" { target { rv32 } } } */
+ 
+ void *p;
+ int d;
+ char c;
+ 
+ void
+ foo (_Float16 *fp)
+ {
+   _Float16 f = *fp;
+   do {
+     __builtin_strcat (p, 0);
+     __builtin_memmove (1 + (char *) &f, &f, 1);
+   } while (d);
+   c = f;
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/riscv/rvv/base/pr113666.c gcc-16-20260125/gcc/testsuite/gcc.target/riscv/rvv/base/pr113666.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/riscv/rvv/base/pr113666.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/riscv/rvv/base/pr113666.c	Sun Jan 25 22:32:15 2026
***************
*** 0 ****
--- 1,24 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=rv64gcv -mabi=lp64 -O3" { target rv64} } */
+ /* { dg-options "-march=rv32gcv -mabi=ilp32 -O3" { target rv32} } */
+ 
+ unsigned char a;
+ 
+ int main() {
+   short b = a = 0;
+   for (; a != 19; a++)
+     if (a)
+       b = 32872 >> a;
+ 
+   if (b == 0)
+     return 0;
+   else
+     return 1;
+ }
+ 
+ /* If we vectorized, we should still be able to collapse away the VEC_EXTRACT,
+    leaving zero vector code in the final assembly.  So there should be no 
+    vsetvl instructions.  */
+ /* { dg-final { scan-assembler-not {vsetivli} } } */
+ 
+ 
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-1.c gcc-16-20260125/gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-1.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-1.c	Sun Jan 18 22:32:13 2026
--- gcc-16-20260125/gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-1.c	Sun Jan 25 22:32:15 2026
***************
*** 4,7 ****
  #include "riscv_vector.h"
  int a;
  long b, c;
! void d() { __riscv_vlseg2e32ff_v_i32mf2x2(&a, &c, b); } /* { dg-error "invalid argument to built-in function" } */
--- 4,7 ----
  #include "riscv_vector.h"
  int a;
  long b, c;
! void d() { __riscv_vlseg2e32ff_v_i32mf2x2(&a, &c, b); }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/riscv/rvv/base/pr122869.c gcc-16-20260125/gcc/testsuite/gcc.target/riscv/rvv/base/pr122869.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/riscv/rvv/base/pr122869.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/riscv/rvv/base/pr122869.c	Sun Jan 25 22:32:15 2026
***************
*** 0 ****
--- 1,24 ----
+ /* { dg-do run { target { riscv_v } } } */
+ /* { dg-additional-options "-O0 -std=gnu99" } */
+ /* { dg-require-effective-target riscv_v_ok } */
+ 
+ /* We used to generate a separate riscv_read_vl () after the FoF load.
+    In case of -O0 (or otherwise) it could happen that "g" wouldn't
+    get a hard reg and we'd need to store it, clobbering VL.
+    This leads to an infinite loop or a segfault.  */
+ 
+ #include <riscv_vector.h>
+ 
+ uint8_t a[1];
+ int16_t b[1];
+ 
+ int main ()
+ {
+   for (size_t c = 0, avl = 1; avl > 0;)
+     {
+       size_t d = avl;
+       vint16mf2_t g = __riscv_vle16ff_v_i16mf2 (&b[c], &d, d);
+       avl -= d;
+       c += d; // Segmentation fault
+     }
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/riscv/rvv/base/pr123626.c gcc-16-20260125/gcc/testsuite/gcc.target/riscv/rvv/base/pr123626.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/riscv/rvv/base/pr123626.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/riscv/rvv/base/pr123626.c	Sun Jan 25 22:32:15 2026
***************
*** 0 ****
--- 1,23 ----
+ /* { dg-do run } */
+ /* { dg-options "-march=rv64gcv_zvl256b -mabi=lp64d -O3 -fsigned-char -fno-strict-aliasing -fwrapv -std=gnu99" { target rv64 } } */
+ /* { dg-options "-march=rv32gcv_zvl256b -mabi=ilp32 -O3 -fsigned-char -fno-strict-aliasing -fwrapv -std=gnu99" { target rv32 } } */
+ short a;
+ long long b;
+ char c[3][3][17];
+ _Bool d;
+ 
+ int main() {
+   for (long g=0; g<3; ++g)
+     for (long h=0; h<3; ++h)
+       for (long i=0; i<17; ++i)
+         c[g][h][i] = 2;
+ 
+   for (char g=0; g<3; g-=13)
+     for (short j=3; j<d+21; j+=2)
+       a += 2;
+ 
+   b = (int)a;
+   if (b != 180)
+     __builtin_abort ();
+   __builtin_exit (0);
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/riscv/rvv/base/pr123780.c gcc-16-20260125/gcc/testsuite/gcc.target/riscv/rvv/base/pr123780.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/riscv/rvv/base/pr123780.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/riscv/rvv/base/pr123780.c	Sun Jan 25 22:32:15 2026
***************
*** 0 ****
--- 1,21 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=rv64gcv -mabi=lp64d -O1" } */
+ 
+ #include <riscv_vector.h>
+ 
+ double k[30], l[30];
+ 
+ int main () {
+   for (int i = 0; i < 30; ++i) { k[i] = 1; }
+ 
+   for (size_t m = 0, avl = 30; avl > 0;) {
+     size_t s = __riscv_vsetvl_e8mf8(avl);
+     vfloat64m1_t q = __riscv_vle64_v_f64m1(&k[m], s);
+     q = __riscv_vfneg_v_f64m1(q, s);
+     vuint8mf8_t r = __riscv_vsll_vx_u8mf8(__riscv_vid_v_u8mf8(s), 3, s);
+     __riscv_vsoxei8(&l[m], r, q, s);
+     avl -= s; m += s;
+   }
+ }
+ 
+ /* { dg-final { scan-assembler-times "vsoxei8" 1 } } */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-3.c gcc-16-20260125/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-3.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-3.c	Sun Jan 18 22:32:13 2026
--- gcc-16-20260125/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-3.c	Sun Jan 25 22:32:16 2026
*************** void f (int8_t * restrict in, int8_t * r
*** 25,28 ****
      }
  }
  
! /* { dg-final { scan-assembler-times {vsetvli\s+zero,\s*[a-x0-9]+,\s*e8,\s*mf8,\s*t[au],\s*m[au]} 2 { target { no-opts "-O0" no-opts "-g" no-opts "-funroll-loops" } } } } */
--- 25,29 ----
      }
  }
  
! /* -O2 and -O3 fail now, see PR target/122869.  */
! /* { dg-final { scan-assembler-times {vsetvli\s+zero,\s*[a-x0-9]+,\s*e8,\s*mf8,\s*t[au],\s*m[au]} 2 { target { no-opts "-O0" no-opts "-g" no-opts "-funroll-loops" } xfail { any-opts "-O2" "-O3" } } } } */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gcc.target/s390/vxe3/vcmp-1.c gcc-16-20260125/gcc/testsuite/gcc.target/s390/vxe3/vcmp-1.c
*** gcc-16-20260118/gcc/testsuite/gcc.target/s390/vxe3/vcmp-1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gcc.target/s390/vxe3/vcmp-1.c	Sun Jan 25 22:32:16 2026
***************
*** 0 ****
--- 1,42 ----
+ /* { dg-do compile } */
+ /* { dg-require-effective-target int128 } */
+ /* { dg-final { check-function-bodies "**" "" "" } } */
+ 
+ typedef __int128 __attribute__ ((vector_size (16))) V1TI;
+ typedef unsigned __int128 __attribute__ ((vector_size (16))) UV1TI;
+ 
+ /*
+ ** cmpeq:
+ **	vceqq	%v24,%v24,%v26
+ **	br	%r14
+ */
+ 
+ V1TI
+ cmpeq (V1TI x, V1TI y)
+ {
+   return x == y;
+ }
+ 
+ /*
+ ** cmpgt:
+ **	vchq	%v24,%v24,%v26
+ **	br	%r14
+ */
+ 
+ V1TI
+ cmpgt (V1TI x, V1TI y)
+ {
+   return x > y;
+ }
+ 
+ /*
+ ** cmpgtu:
+ **	vchlq	%v24,%v24,%v26
+ **	br	%r14
+ */
+ 
+ V1TI
+ cmpgtu (UV1TI x, UV1TI y)
+ {
+   return x > y;
+ }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gdc.dg/gcov1.d gcc-16-20260125/gcc/testsuite/gdc.dg/gcov1.d
*** gcc-16-20260118/gcc/testsuite/gdc.dg/gcov1.d	Sun Jan 18 22:32:13 2026
--- gcc-16-20260125/gcc/testsuite/gdc.dg/gcov1.d	Sun Jan 25 22:32:16 2026
***************
*** 1,5 ****
  /* { dg-options "-fcondition-coverage -ftest-coverage" } */
! /* { dg-do run { target native } } */
  
  /* Some side effect to stop branches from being pruned.  */
  int x = 0;
--- 1,5 ----
  /* { dg-options "-fcondition-coverage -ftest-coverage" } */
! /* { dg-do run } */
  
  /* Some side effect to stop branches from being pruned.  */
  int x = 0;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gfortran.dg/guality/guality.exp gcc-16-20260125/gcc/testsuite/gfortran.dg/guality/guality.exp
*** gcc-16-20260118/gcc/testsuite/gfortran.dg/guality/guality.exp	Sun Jan 18 22:32:13 2026
--- gcc-16-20260125/gcc/testsuite/gfortran.dg/guality/guality.exp	Sun Jan 25 22:32:16 2026
*************** if { [istarget *-*-darwin*] } {
*** 8,13 ****
--- 8,17 ----
    return
  }
  
+ if { [check_effective_target_simulator] } {
+     return
+ }
+ 
  if { [istarget hppa*-*-hpux*] } {
      return
  }
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gfortran.dg/import.f90 gcc-16-20260125/gcc/testsuite/gfortran.dg/import.f90
*** gcc-16-20260118/gcc/testsuite/gfortran.dg/import.f90	Sun Jan 18 22:32:13 2026
--- gcc-16-20260125/gcc/testsuite/gfortran.dg/import.f90	Sun Jan 25 22:32:16 2026
*************** program foo
*** 57,67 ****
        type(myType) :: x
        integer(dp)     :: y
      end subroutine bar
-     subroutine test(x)
-       import :: myType3
-       import myType3 ! { dg-warning "already IMPORTed from" }
-       type(myType3) :: x
-     end subroutine test
    end interface
  
    type(myType) :: y
--- 57,62 ----
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gfortran.dg/pr123375.f90 gcc-16-20260125/gcc/testsuite/gfortran.dg/pr123375.f90
*** gcc-16-20260118/gcc/testsuite/gfortran.dg/pr123375.f90	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gfortran.dg/pr123375.f90	Sun Jan 25 22:32:16 2026
***************
*** 0 ****
--- 1,67 ----
+ ! { dg-do compile }
+    module foo
+       implicit none
+       integer aa
+    end module foo
+    !
+    ! AA made available by USE association in bar2, and imported into
+    ! the interface.  This compiles with gfortran and flang21.
+    !
+    module bar2
+       use foo
+       implicit none
+       interface
+          subroutine bah
+             import aa
+          end subroutine bah
+       end interface
+    end module bar2
+    !
+    ! AA made available by USE association within bah, and then an
+    ! import statement is invalid as is in the current scoping unit.
+    !
+    ! gfortran -c vv.f90
+    ! vv.f90:40:17:
+    !
+    !   40 |          import aa
+    !      |                 1
+    ! Error: Cannot IMPORT 'aa' from host scoping unit at (1)...
+    !
+    ! flang21 -c vv.f90
+    ! error: Semantic errors in vv.f90
+    ! ./vv.f90:40:17: error: 'a' not found in host scope
+    !           import aa
+    !                  ^^
+    module bar3
+       implicit none
+       interface
+          subroutine bah
+             use foo
+             import aa      ! { dg-error "in the local scope" }
+          end subroutine bah
+       end interface
+    end module bar3
+    !
+    ! AA made available by USE association within foo and bah.  The
+    ! import statement should be invalid as AA is  the current scoping
+    ! unit.
+    !
+    ! F2023:C8105 Within an interface body, an entity that is accessed
+    ! by host association shall be accessible by host or use association
+    ! within the host scoping unit, or explicitly declared prior to the
+    ! interface body.
+    !
+    ! flang21 compiles this example.
+    ! gfortran has an ICE.
+    !
+    module bar4
+       use foo
+       implicit none
+       interface
+          subroutine bah
+             ! This brings aa into the interface, and should be an error.
+             use foo
+             import aa      ! { dg-error "in the local scope" }
+          end subroutine bah
+       end interface
+    end module bar4
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gfortran.dg/pr123772.f03 gcc-16-20260125/gcc/testsuite/gfortran.dg/pr123772.f03
*** gcc-16-20260118/gcc/testsuite/gfortran.dg/pr123772.f03	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gfortran.dg/pr123772.f03	Sun Jan 25 22:32:16 2026
***************
*** 0 ****
--- 1,124 ----
+ ! { dg-do run }
+ ! Test case provided by Andrew Benson
+ module rmm
+   private
+   public :: rm
+ 
+   type :: rm
+      integer, pointer :: counter => null()
+    contains
+      final     :: rmDestructor
+      procedure :: rmAssign
+      generic   :: assignment(=) => rmAssign
+      procedure :: getCounter => rmGetCounter
+   end type rm
+ 
+   interface rm
+      module procedure rmConstructor
+   end interface rm
+ contains
+   function rmConstructor() result(self)
+     implicit none
+     type(rm) :: self
+     allocate(self%counter)
+     self%counter=1
+     !write (*,'(a,i1)') '  rm construct - count = ',self%counter
+     return
+   end function rmConstructor
+ 
+   subroutine rmDestructor(self)
+     implicit none
+     type(rm), intent(inout) :: self
+     if (.not.associated(self%counter)) return
+     self%counter=self%counter-1
+     !write (*,'(a,i1)') '  rm destruct - count = ',self%counter
+     nullify(self%counter )
+     return
+   end subroutine rmDestructor
+ 
+   subroutine rmAssign(to,from)
+     implicit none
+     class(rm), intent(  out) :: to
+     class(rm), intent(in   ) :: from
+     if (associated(from%counter)) then
+        to%counter => from%counter
+        to%counter =  to  %counter+1
+        !write (*,'(a,i1)') '  rm assign - count = ',to%counter
+     else
+        to%counter  => null()
+     end if
+     return
+   end subroutine rmAssign
+ 
+   integer function rmGetCounter(self)
+     implicit none
+     class(rm), intent(in) :: self
+     rmGetCounter=self%counter
+     return
+   end function rmGetCounter
+ end module rmm
+ 
+ module hom
+   use :: rmm, only : rm
+   implicit none
+   private
+   public :: ho
+ 
+   type ho
+     private
+     type(rm) :: fm
+    contains
+      final     ::                  hoDestructor
+      procedure ::                  hoAssign
+      generic   :: assignment(=) => hoAssign
+      procedure :: getCounter => hoGetCounter
+   end type ho
+ 
+   interface ho
+      module procedure hoConstructor
+   end interface ho
+ contains
+   subroutine hoDestructor(self)
+     implicit none
+     type(ho), intent(inout) :: self
+     !write (*,'(a)') " ho destruct"    
+     return
+   end subroutine hoDestructor
+   
+   subroutine hoAssign(to,from)
+     implicit none
+     class(ho), intent(  out) :: to
+     class(ho), intent(in   ) :: from
+ 
+     !write (*,'(a)') " ho assign"    
+     to%fm=from%fm
+     return
+   end subroutine hoAssign
+   
+   function hoConstructor() result(self)
+     implicit none
+     type(ho) :: self
+ 
+     !write (*,'(a)') " ho construct"    
+     self%fm=rm()
+     return
+   end function hoConstructor
+ 
+   integer function hoGetCounter(self)
+     implicit none
+     class(ho), intent(in) :: self
+     hoGetCounter=self%fm%getCounter()
+     return
+   end function hoGetCounter
+     
+ end module hom
+ 
+ program bug
+   use :: hom, only : ho 
+   implicit none
+   type(ho) :: fileObject
+   !write (*,'(a)') "start"
+   fileObject=ho()
+   !write (*,'(a)') "end"  
+   if (fileObject%getCounter() .ne. 1) stop 123
+ end program bug
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gfortran.dg/vect/vect-pr123741.f90 gcc-16-20260125/gcc/testsuite/gfortran.dg/vect/vect-pr123741.f90
*** gcc-16-20260118/gcc/testsuite/gfortran.dg/vect/vect-pr123741.f90	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gfortran.dg/vect/vect-pr123741.f90	Sun Jan 25 22:32:16 2026
***************
*** 0 ****
--- 1,50 ----
+ ! { dg-do compile }
+ ! { dg-additional-options "-Ofast" }
+ ! { dg-additional-options "-mavx2" { target avx2 } }
+ 
+ module m1
+ parameter( n1=5,n2=5,n3=5,n4=5 )
+ integer:: p(n1,n2,n3,n4)
+ 
+ contains
+ subroutine s1(i,nn2,nn4)
+ integer:: i(n1,n2,n3,n4)
+ i= p
+ forall (k2=1:nn2,k4=1:nn4,mod(k2,3)/=0 .and. mod(k4,3)/=0) 
+ where( mod(i(:,k2,:,k4),4) /=0 ) &
+  i(:,k2,:,k4) = i(:,k2,:,k4) + 1.0 / real(k2+k4 -1)
+ end forall
+ end subroutine
+ 
+ subroutine s2(i,nn2,nn4)
+ integer:: i(n1,n2,n3,n4)
+ integer,allocatable:: temp(:,:,:,:)
+ i= p
+ allocate(temp(n1,n2,n3,n4))
+ do k4=1,nn4
+ do k2=1,nn2
+ if (mod(k2,3)/=0 .and. mod(k4,3)/=0)then
+ where( mod(i(:,k2,:,k4),4) /=0 ) &
+  temp(:,k2,:,k4) = i(:,k2,:,k4) +1.0 / real(k2+k4 -1)
+ end if
+ end do
+ end do
+ do k4=1,nn4
+ do k2=1,nn2
+ if (mod(k2,3)/=0 .and. mod(k4,3)/=0)then
+ where( mod(i(:,k2,:,k4),4) /=0 ) &
+  i(:,k2,:,k4) = temp(:,k2,:,k4)
+ end if
+ end do
+ end do
+ end subroutine
+ end
+ 
+ use m1
+ integer:: i1(n1,n2,n3,n4),i2(n1,n2,n3,n4)
+ p= reshape([(k,k=1,(n1)*(n2)*(n3)*(n4))],[n1,n2,n3,n4])
+ call s1(i1,n2,n4)
+ call s2(i2,n2,n4)
+ if (any(i1/=i2)) print *,101
+ print *,'OK'
+ end
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gnat.dg/gcov/check.adb gcc-16-20260125/gcc/testsuite/gnat.dg/gcov/check.adb
*** gcc-16-20260118/gcc/testsuite/gnat.dg/gcov/check.adb	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/gcc/testsuite/gnat.dg/gcov/check.adb	Sun Jan 25 22:32:17 2026
***************
*** 1,5 ****
  -- { dg-options "-fprofile-arcs -ftest-coverage" }
! -- { dg-do run { target native } } */
  
  procedure Check is
  
--- 1,5 ----
  -- { dg-options "-fprofile-arcs -ftest-coverage" }
! -- { dg-do run } */
  
  procedure Check is
  
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gnat.dg/generic_inst16.adb gcc-16-20260125/gcc/testsuite/gnat.dg/generic_inst16.adb
*** gcc-16-20260118/gcc/testsuite/gnat.dg/generic_inst16.adb	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gnat.dg/generic_inst16.adb	Sun Jan 25 22:32:17 2026
***************
*** 0 ****
--- 1,11 ----
+ -- { dg-do link }
+ 
+ with Generic_Inst16_Pkg.Child.Grandchild;
+ with Generic_Inst16_Proc;
+ 
+ procedure Generic_Inst16 is
+    package   P1 is new Generic_Inst16_Pkg.Child;
+    procedure P2 is new Generic_Inst16_Proc (P1);
+ begin
+    null;
+ end;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gnat.dg/generic_inst16_pkg-child-grandchild.ads gcc-16-20260125/gcc/testsuite/gnat.dg/generic_inst16_pkg-child-grandchild.ads
*** gcc-16-20260118/gcc/testsuite/gnat.dg/generic_inst16_pkg-child-grandchild.ads	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gnat.dg/generic_inst16_pkg-child-grandchild.ads	Sun Jan 25 22:32:17 2026
***************
*** 0 ****
--- 1,20 ----
+ generic
+ package Generic_Inst16_Pkg.Child.Grandchild is
+ 
+    type CT is new GPT with private;
+ 
+    Zippo_CT1 : constant CT;
+    Zippo_CT2 : constant CT;
+ 
+ private
+ 
+    type CT is new PT with
+       record
+          Small_Pi : Natural := 314;
+       end record;
+ 
+    Zippo_CT1 : constant CT := (Zippo_PT with Small_Pi => 0);
+    Zippo_CT2 : constant CT :=
+      (Generic_Inst16_Pkg.Child.Zippo_PT with Small_Pi => 0);
+ 
+ end Generic_Inst16_Pkg.Child.Grandchild;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gnat.dg/generic_inst16_pkg-child.ads gcc-16-20260125/gcc/testsuite/gnat.dg/generic_inst16_pkg-child.ads
*** gcc-16-20260118/gcc/testsuite/gnat.dg/generic_inst16_pkg-child.ads	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gnat.dg/generic_inst16_pkg-child.ads	Sun Jan 25 22:32:17 2026
***************
*** 0 ****
--- 1,17 ----
+ generic
+ package Generic_Inst16_Pkg.Child is
+ 
+    type PT is new GPT with private;
+ 
+    Zippo_PT : constant PT;
+    
+ private
+    
+    type PT is new GPT with
+       record
+          Pos_Pi : Natural := 314159265;
+       end record;
+ 
+    Zippo_PT : constant PT := (Pos_Pi => 0);
+ 
+ end Generic_Inst16_Pkg.Child;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gnat.dg/generic_inst16_pkg.ads gcc-16-20260125/gcc/testsuite/gnat.dg/generic_inst16_pkg.ads
*** gcc-16-20260118/gcc/testsuite/gnat.dg/generic_inst16_pkg.ads	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gnat.dg/generic_inst16_pkg.ads	Sun Jan 25 22:32:17 2026
***************
*** 0 ****
--- 1,5 ----
+ package Generic_Inst16_Pkg is
+ 
+    type GPT is interface;
+ 
+ end Generic_Inst16_Pkg;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gnat.dg/generic_inst16_proc.adb gcc-16-20260125/gcc/testsuite/gnat.dg/generic_inst16_proc.adb
*** gcc-16-20260118/gcc/testsuite/gnat.dg/generic_inst16_proc.adb	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gnat.dg/generic_inst16_proc.adb	Sun Jan 25 22:32:17 2026
***************
*** 0 ****
--- 1,7 ----
+ with Generic_Inst16_Pkg.Child.Grandchild;
+ 
+ procedure Generic_Inst16_Proc is
+    package Inst_Grandchild is new Inst_Child.Grandchild;
+ begin
+    null;
+ end;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/gnat.dg/generic_inst16_proc.ads gcc-16-20260125/gcc/testsuite/gnat.dg/generic_inst16_proc.ads
*** gcc-16-20260118/gcc/testsuite/gnat.dg/generic_inst16_proc.ads	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/gnat.dg/generic_inst16_proc.ads	Sun Jan 25 22:32:17 2026
***************
*** 0 ****
--- 1,5 ----
+ with Generic_Inst16_Pkg.Child;
+ 
+ generic
+    with package Inst_Child is new Generic_Inst16_Pkg.Child (<>);
+ procedure Generic_Inst16_Proc;
diff -Nrcpad gcc-16-20260118/gcc/testsuite/lib/gcov.exp gcc-16-20260125/gcc/testsuite/lib/gcov.exp
*** gcc-16-20260118/gcc/testsuite/lib/gcov.exp	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/gcc/testsuite/lib/gcov.exp	Sun Jan 25 22:32:17 2026
*************** proc clean-gcov-file { testcase suffix }
*** 31,36 ****
--- 31,53 ----
      set basename [file tail $testcase]
      set base [file rootname $basename]
      remote_file host delete $base.$suffix
+     # The absolute path to the output when building on the host is
+     # used by the compiled program on the target to determine where
+     # the .gcda file goes there.
+     remote_file target delete [remote_file host absolute $base.$suffix]
+ }
+ 
+ # Transfer the .gcda file for a test from the target to the host.
+ 
+ proc transfer-gcda { testcase } {
+     set basename [file tail $testcase]
+     set base [file rootname $basename]
+     # The absolute path to the output when building on the host is
+     # used by the compiled program on the target to determine where
+     # the .gcda file goes there.
+     set gcda [remote_file host absolute "$base.gcda"]
+     set gcda [remote_upload target $gcda]
+     remote_download host $gcda
  }
  
  #
*************** proc run-gcov { args } {
*** 763,768 ****
--- 780,793 ----
      if { $gcov_remove_gcda } {
  	verbose "Removing $testcase.gcda"
  	clean-gcov-file $testcase "gcda"
+     } else {
+ 	transfer-gcda $testcase
+ 	global additional_sources_used
+ 	if [info exists additional_sources_used] {
+ 	    foreach srcfile $additional_sources_used {
+ 		transfer-gcda $srcfile
+ 	    }
+ 	}
      }
  
      verbose "Running $GCOV $testcase" 2
diff -Nrcpad gcc-16-20260118/gcc/testsuite/sarif-replay.dg/2.1.0-valid/3.11.6-embedded-links-pr123056.sarif gcc-16-20260125/gcc/testsuite/sarif-replay.dg/2.1.0-valid/3.11.6-embedded-links-pr123056.sarif
*** gcc-16-20260118/gcc/testsuite/sarif-replay.dg/2.1.0-valid/3.11.6-embedded-links-pr123056.sarif	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/sarif-replay.dg/2.1.0-valid/3.11.6-embedded-links-pr123056.sarif	Sun Jan 25 22:32:17 2026
***************
*** 0 ****
--- 1,139 ----
+ /* { dg-additional-options "-fdiagnostics-add-output=experimental-html:file=3.11.6-embedded-links-pr123056.sarif.html,javascript=no" } */
+ /* { dg-additional-options "-fdiagnostics-add-output=sarif:file=3.11.6-embedded-links-pr123056.sarif.roundtrip.sarif" } */
+ 
+ {"$schema": "https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/schemas/sarif-schema-2.1.0.json",
+  "version": "2.1.0",
+  "runs": [{"tool": {"driver": {"name": "GNU C23",
+                                "fullName": "GNU C23 (GCC) version 16.0.1 20260114 (experimental) (x86_64-pc-linux-gnu)",
+                                "version": "16.0.1 20260114 (experimental)",
+                                "informationUri": "https://gcc.gnu.org/gcc-16/",
+                                "rules": [{"id": "-Wanalyzer-malloc-leak",
+                                           "helpUri": "https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html#index-Wanalyzer-malloc-leak"}]}},
+            "taxonomies": [{"name": "CWE",
+                            "version": "4.7",
+                            "organization": "MITRE",
+                            "shortDescription": {"text": "The MITRE Common Weakness Enumeration"},
+                            "taxa": [{"id": "401",
+                                      "helpUri": "https://cwe.mitre.org/data/definitions/401.html"}]}],
+            "invocations": [{"arguments": ["./cc1",
+                                           "-quiet",
+                                           "-iprefix",
+                                           "/home/david/coding-3/gcc-newgit-queued-for-next-stage-1/build/gcc/../lib/gcc/x86_64-pc-linux-gnu/16.0.1/",
+                                           "-isystem",
+                                           "./include",
+                                           "-isystem",
+                                           "./include-fixed",
+                                           "pr123056.c",
+                                           "-quiet",
+                                           "-dumpbase",
+                                           "pr123056.c",
+                                           "-dumpbase-ext",
+                                           ".c",
+                                           "-mtune=generic",
+                                           "-march=x86-64",
+                                           "-fanalyzer",
+                                           "-fdiagnostics-add-output=sarif",
+                                           "-fdiagnostics-add-output=experimental-html",
+                                           "-o",
+                                           "pr123056.s"],
+                             "workingDirectory": {"uri": "/home/david/coding-3/gcc-newgit-queued-for-next-stage-1/build/gcc"},
+                             "startTimeUtc": "2026-01-16T17:43:19Z",
+                             "executionSuccessful": true,
+                             "toolExecutionNotifications": [],
+                             "endTimeUtc": "2026-01-16T17:43:19Z"}],
+            "originalUriBaseIds": {"PWD": {"uri": "file:///home/david/coding-3/gcc-newgit-queued-for-next-stage-1/build/gcc/"}},
+            "artifacts": [{"location": {"uri": "pr123056.c",
+                                        "uriBaseId": "PWD"},
+                           "sourceLanguage": "c",
+                           "contents": {"text": "void test (void)\n{\n  void *p = __builtin_malloc (1024);\n}\n"},
+                           "roles": ["analysisTarget",
+                                     "tracedFile"]}],
+            "results": [{"ruleId": "-Wanalyzer-malloc-leak",
+                         "taxa": [{"id": "401",
+                                   "toolComponent": {"name": "cwe"}}],
+                         "properties": {"gcc/analyzer/saved_diagnostic/sm": "malloc",
+                                        "gcc/analyzer/saved_diagnostic/ploc": {"enode": 5},
+                                        "gcc/analyzer/saved_diagnostic/var": "p_3",
+                                        "gcc/analyzer/saved_diagnostic/sval": "&HEAP_ALLOCATED_REGION(14)",
+                                        "gcc/analyzer/saved_diagnostic/state": "unchecked ({free})",
+                                        "gcc/analyzer/saved_diagnostic/idx": 0,
+                                        "gcc/analyzer/saved_diagnostic/duplicates": [{"properties": {"gcc/analyzer/saved_diagnostic/sm": "malloc",
+                                                                                                     "gcc/analyzer/saved_diagnostic/ploc": {"enode": 5},
+                                                                                                     "gcc/analyzer/saved_diagnostic/var": "p_3",
+                                                                                                     "gcc/analyzer/saved_diagnostic/sval": "&HEAP_ALLOCATED_REGION(14)",
+                                                                                                     "gcc/analyzer/saved_diagnostic/state": "unchecked ({free})",
+                                                                                                     "gcc/analyzer/saved_diagnostic/idx": 1,
+                                                                                                     "gcc/analyzer/pending_diagnostic/kind": "malloc_leak"}}],
+                                        "gcc/analyzer/pending_diagnostic/kind": "malloc_leak"},
+                         "level": "warning",
+                         "message": {"text": "leak of ‘p’"},
+                         "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pr123056.c",
+                                                                                  "uriBaseId": "PWD"},
+                                                             "region": {"startLine": 4,
+                                                                        "startColumn": 1,
+                                                                        "endColumn": 2},
+                                                             "contextRegion": {"startLine": 4,
+                                                                               "snippet": {"text": "}\n"}}},
+                                        "logicalLocations": [{"index": 0,
+                                                              "fullyQualifiedName": "test"}]}],
+                         "codeFlows": [{"threadFlows": [{"id": "main",
+                                                         "locations": [{"properties": {"gcc/analyzer/checker_event/emission_id": "(1)",
+                                                                                       "gcc/analyzer/checker_event/kind": "state_change"},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "pr123056.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 3,
+                                                                                                                     "startColumn": 13,
+                                                                                                                     "endColumn": 36},
+                                                                                                          "contextRegion": {"startLine": 3,
+                                                                                                                            "snippet": {"text": "  void *p = __builtin_malloc (1024);\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "test"}],
+                                                                                     "message": {"text": "allocated here"}},
+                                                                        "kinds": ["acquire",
+                                                                                  "memory"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 1},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(2)",
+                                                                                       "gcc/analyzer/checker_event/kind": "warning"},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "pr123056.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 4,
+                                                                                                                     "startColumn": 1,
+                                                                                                                     "endColumn": 2},
+                                                                                                          "contextRegion": {"startLine": 4,
+                                                                                                                            "snippet": {"text": "}\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "test"}],
+                                                                                     "message": {"text": "‘p’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)"}},
+                                                                        "kinds": ["danger"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 2}]}]}]}],
+            "logicalLocations": [{"name": "test",
+                                  "fullyQualifiedName": "test",
+                                  "decoratedName": "test",
+                                  "kind": "function",
+                                  "index": 0}]}]}
+ 
+ /* { dg-begin-multiline-output "" }
+ In function 'test':
+ pr123056.c:4:1: warning: leak of ‘p’ [-Wanalyzer-malloc-leak]
+     4 | }
+       | ^
+   'test': events 1-2
+     3 |   void *p = __builtin_malloc (1024);
+       |             ^~~~~~~~~~~~~~~~~~~~~~~
+       |             |
+       |             (1) allocated here
+     4 | }
+       | ~            
+       | |
+       | (2) ‘p’ leaks here; was allocated at (1)
+    { dg-end-multiline-output "" } */
+ 
+ /* Use a Python script to verify various properties about the generated
+    .html file:
+    { dg-final { run-html-pytest 3.11.6-embedded-links-pr123056.sarif "2.1.0-valid/embedded-links-pr123056-check-html.py" } } */
+ 
+ /* Use a Python script to verify various properties about the *generated*
+    .sarif file:
+    { dg-final { run-sarif-pytest 3.11.6-embedded-links-pr123056.sarif.roundtrip "2.1.0-valid/embedded-links-pr123056-check-sarif-roundtrip.py" } } */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/sarif-replay.dg/2.1.0-valid/embedded-links-pr123056-check-html.py gcc-16-20260125/gcc/testsuite/sarif-replay.dg/2.1.0-valid/embedded-links-pr123056-check-html.py
*** gcc-16-20260118/gcc/testsuite/sarif-replay.dg/2.1.0-valid/embedded-links-pr123056-check-html.py	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/sarif-replay.dg/2.1.0-valid/embedded-links-pr123056-check-html.py	Sun Jan 25 22:32:17 2026
***************
*** 0 ****
--- 1,25 ----
+ from htmltest import *
+ 
+ import pytest
+ 
+ @pytest.fixture(scope='function', autouse=True)
+ def html_tree():
+     return html_tree_from_env()
+ 
+ def test_generated_html(html_tree):
+     root = html_tree.getroot ()
+     assert root.tag == make_tag('html')
+ 
+     head = root.find('xhtml:head', ns)
+     assert head is not None
+ 
+     diag = get_diag_by_index(html_tree, 0)
+ 
+     exec_path = diag.find("./xhtml:div[@id='execution-path']", ns)
+     assert exec_path is not None
+ 
+     label = exec_path.find('xhtml:label', ns)
+     assert label.text == 'Execution path with 2 events'
+ 
+     final_event = exec_path.find(".//xhtml:span[@id='gcc-diag-0-event-1']", ns)
+     assert final_event.text == '(2) ‘p’ leaks here; was allocated at (1)'
diff -Nrcpad gcc-16-20260118/gcc/testsuite/sarif-replay.dg/2.1.0-valid/embedded-links-pr123056-check-sarif-roundtrip.py gcc-16-20260125/gcc/testsuite/sarif-replay.dg/2.1.0-valid/embedded-links-pr123056-check-sarif-roundtrip.py
*** gcc-16-20260118/gcc/testsuite/sarif-replay.dg/2.1.0-valid/embedded-links-pr123056-check-sarif-roundtrip.py	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/sarif-replay.dg/2.1.0-valid/embedded-links-pr123056-check-sarif-roundtrip.py	Sun Jan 25 22:32:17 2026
***************
*** 0 ****
--- 1,14 ----
+ from sarif import *
+ 
+ import pytest
+ 
+ @pytest.fixture(scope='function', autouse=True)
+ def sarif():
+     return sarif_from_env()
+ 
+ def test_roundtrip_of_url_in_generated_sarif(sarif):
+     result = get_result_by_index(sarif, 0)
+     assert result['level'] == 'warning'
+     assert result['message']['text'] == "leak of ‘p’"
+     assert (result['codeFlows'][0]['threadFlows'][0]['locations'][1]['location']['message']['text']
+             == "‘p’ leaks here; was allocated at (1)")
diff -Nrcpad gcc-16-20260118/gcc/testsuite/sarif-replay.dg/2.1.0-valid/missing-source-pr122622-check-html.py gcc-16-20260125/gcc/testsuite/sarif-replay.dg/2.1.0-valid/missing-source-pr122622-check-html.py
*** gcc-16-20260118/gcc/testsuite/sarif-replay.dg/2.1.0-valid/missing-source-pr122622-check-html.py	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/sarif-replay.dg/2.1.0-valid/missing-source-pr122622-check-html.py	Sun Jan 25 22:32:17 2026
***************
*** 0 ****
--- 1,30 ----
+ from htmltest import *
+ 
+ import pytest
+ 
+ @pytest.fixture(scope='function', autouse=True)
+ def html_tree():
+     return html_tree_from_env()
+ 
+ def test_generated_html(html_tree):
+     root = html_tree.getroot ()
+     assert root.tag == make_tag('html')
+ 
+     head = root.find('xhtml:head', ns)
+     assert head is not None
+ 
+     diag = get_diag_by_index(html_tree, 0)
+ 
+     exec_path = diag.find("./xhtml:div[@id='execution-path']", ns)
+     assert exec_path is not None
+ 
+     label = exec_path.find('xhtml:label', ns)
+     assert label.text == 'Execution path with 18 events'
+ 
+     final_event = exec_path.find(".//xhtml:span[@id='gcc-diag-0-event-17']", ns)
+     assert (ET.tostring(final_event, method='html').rstrip()
+             == (b'<html:span xmlns:html="http://www.w3.org/1999/xhtml" class="event" id="gcc-diag-0-event-17">'
+                 b'<html:span class="location">../test/create_cert_test.c:118:3:</html:span>'
+                 b'<html:span class="event-id"> (18): </html:span>'
+                 b'<html:span class="event-text">&#8216;ext_str&#8217; leaks here; was allocated at (13)</html:span>'
+                 b'</html:span>'))
diff -Nrcpad gcc-16-20260118/gcc/testsuite/sarif-replay.dg/2.1.0-valid/missing-source-pr122622.sarif gcc-16-20260125/gcc/testsuite/sarif-replay.dg/2.1.0-valid/missing-source-pr122622.sarif
*** gcc-16-20260118/gcc/testsuite/sarif-replay.dg/2.1.0-valid/missing-source-pr122622.sarif	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/sarif-replay.dg/2.1.0-valid/missing-source-pr122622.sarif	Sun Jan 25 22:32:17 2026
***************
*** 0 ****
--- 1,506 ----
+ /* { dg-additional-options "-fdiagnostics-add-output=experimental-html:file=missing-source-pr122622.sarif.html,javascript=no" } */
+ 
+ {"$schema": "https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/schemas/sarif-schema-2.1.0.json",
+  "version": "2.1.0",
+  "runs": [{"tool": {"driver": {"name": "GNU C17",
+                                "fullName": "GNU C17 (GCC) version 16.0.0 20250914 (experimental) (x86_64-pc-linux-gnu)",
+                                "version": "16.0.0 20250914 (experimental)",
+                                "informationUri": "https://gcc.gnu.org/gcc-16/",
+                                "rules": [{"id": "-Wanalyzer-malloc-leak",
+                                           "helpUri": "https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html#index-Wanalyzer-malloc-leak"}]}},
+            "taxonomies": [{"name": "CWE",
+                            "version": "4.7",
+                            "organization": "MITRE",
+                            "shortDescription": {"text": "The MITRE Common Weakness Enumeration"},
+                            "taxa": [{"id": "401",
+                                      "helpUri": "https://cwe.mitre.org/data/definitions/401.html"}]}],
+            "invocations": [{"arguments": ["/opt/gcc-latest/libexec/gcc/x86_64-pc-linux-gnu/16.0.0/cc1",
+                                           "-quiet",
+                                           "-I",
+                                           "create_cert_test.p",
+                                           "-I",
+                                           ".",
+                                           "-I",
+                                           "..",
+                                           "-D",
+                                           "_FILE_OFFSET_BITS=64",
+                                           "-D",
+                                           "G_LOG_USE_STRUCTURED",
+                                           "../test/create_cert_test.c",
+                                           "-quiet",
+                                           "-dumpbase",
+                                           "create_cert_test.c",
+                                           "-dumpbase-ext",
+                                           ".c",
+                                           "-m64",
+                                           "-mtune=generic",
+                                           "-march=x86-64-v2",
+                                           "-O2",
+                                           "-Wno-unknown-pragmas",
+                                           "-std=gnu17",
+                                           "-flto=auto",
+                                           "-ffat-lto-objects",
+                                           "-fexceptions",
+                                           "-fstack-protector-strong",
+                                           "-fasynchronous-unwind-tables",
+                                           "-fstack-clash-protection",
+                                           "-fcf-protection=full",
+                                           "-fno-omit-frame-pointer",
+                                           "-fanalyzer",
+                                           "-fdiagnostics-path-format=separate-events",
+                                           "-fno-diagnostics-show-caret",
+                                           "-fno-lto",
+                                           "-fdiagnostics-text-art-charset=none",
+                                           "-fdiagnostics-set-output=sarif:file=/builddir/gcc-results/452-M3DZ.sarif",
+                                           "-o",
+                                           "/tmp/ccMq3Jbf.s"],
+                             "workingDirectory": {"uri": "/builddir/build/BUILD/sscg-4.0.0-build/sscg-sscg-4.0.0/redhat-linux-build"},
+                             "startTimeUtc": "2025-10-28T20:31:29Z",
+                             "executionSuccessful": true,
+                             "toolExecutionNotifications": [],
+                             "endTimeUtc": "2025-10-28T20:31:30Z"}],
+            "originalUriBaseIds": {"PWD": {"uri": "file:///builddir/build/BUILD/sscg-4.0.0-build/sscg-sscg-4.0.0/redhat-linux-build/"}},
+            "artifacts": [{"location": {"uri": "../test/create_cert_test.c",
+                                        "uriBaseId": "PWD"},
+                           "sourceLanguage": "c",
+                           "roles": ["analysisTarget",
+                                     "tracedFile"]},
+                          {"location": {"uri": "/usr/include/openssl/evp.h"},
+                           "sourceLanguage": "c"},
+                          {"location": {"uri": "/usr/include/openssl/x509.h"},
+                           "sourceLanguage": "c"}],
+            "results": [{"ruleId": "-Wanalyzer-malloc-leak",
+                         "taxa": [{"id": "401",
+                                   "toolComponent": {"name": "cwe"}}],
+                         "properties": {"gcc/analyzer/saved_diagnostic/sm": "malloc",
+                                        "gcc/analyzer/saved_diagnostic/enode": 590,
+                                        "gcc/analyzer/saved_diagnostic/snode": 189,
+                                        "gcc/analyzer/saved_diagnostic/stmt": "BIO_read (_20, ext_str_27, ext_len_25);",
+                                        "gcc/analyzer/saved_diagnostic/var": "ext_str_27",
+                                        "gcc/analyzer/saved_diagnostic/sval": "&HEAP_ALLOCATED_REGION(275)",
+                                        "gcc/analyzer/saved_diagnostic/state": "nonnull ({free})",
+                                        "gcc/analyzer/saved_diagnostic/idx": 0,
+                                        "gcc/analyzer/saved_diagnostic/duplicates": [{"properties": {"gcc/analyzer/saved_diagnostic/sm": "malloc",
+                                                                                                     "gcc/analyzer/saved_diagnostic/enode": 590,
+                                                                                                     "gcc/analyzer/saved_diagnostic/snode": 189,
+                                                                                                     "gcc/analyzer/saved_diagnostic/stmt": "BIO_read (_20, ext_str_27, ext_len_25);",
+                                                                                                     "gcc/analyzer/saved_diagnostic/var": "ext_str_27",
+                                                                                                     "gcc/analyzer/saved_diagnostic/sval": "&HEAP_ALLOCATED_REGION(275)",
+                                                                                                     "gcc/analyzer/saved_diagnostic/state": "nonnull ({free})",
+                                                                                                     "gcc/analyzer/saved_diagnostic/idx": 1,
+                                                                                                     "gcc/analyzer/pending_diagnostic/kind": "malloc_leak"}}],
+                                        "gcc/analyzer/pending_diagnostic/kind": "malloc_leak"},
+                         "level": "warning",
+                         "message": {"text": "leak of ‘ext_str’"},
+                         "locations": [{"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                  "uriBaseId": "PWD"},
+                                                             "region": {"startLine": 118,
+                                                                        "startColumn": 3,
+                                                                        "endColumn": 35},
+                                                             "contextRegion": {"startLine": 118,
+                                                                               "snippet": {"text": "  BIO_read (bio, ext_str, ext_len);\n"}}},
+                                        "logicalLocations": [{"index": 0,
+                                                              "fullyQualifiedName": "verify_name_constraints"}]}],
+                         "codeFlows": [{"threadFlows": [{"id": "main",
+                                                         "locations": [{"properties": {"gcc/analyzer/checker_event/emission_id": "(1)",
+                                                                                       "gcc/analyzer/checker_event/kind": "start_cfg_edge",
+                                                                                       "gcc/analyzer/superedge_event/superedge": {"kind": "SUPEREDGE_CFG_EDGE",
+                                                                                                                                  "src_idx": 174,
+                                                                                                                                  "dst_idx": 177,
+                                                                                                                                  "desc": "false (flags FALSE_VALUE | EXECUTABLE)"}},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 61,
+                                                                                                                     "startColumn": 6,
+                                                                                                                     "endColumn": 7},
+                                                                                                          "contextRegion": {"startLine": 61,
+                                                                                                                            "snippet": {"text": "  if (ext_idx < 0)\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "following ‘false’ branch..."}},
+                                                                        "kinds": ["branch",
+                                                                                  "false"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 1},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(2)",
+                                                                                       "gcc/analyzer/checker_event/kind": "end_cfg_edge",
+                                                                                       "gcc/analyzer/superedge_event/superedge": {"kind": "SUPEREDGE_CFG_EDGE",
+                                                                                                                                  "src_idx": 174,
+                                                                                                                                  "dst_idx": 177,
+                                                                                                                                  "desc": "false (flags FALSE_VALUE | EXECUTABLE)"}},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 69,
+                                                                                                                     "startColumn": 26,
+                                                                                                                     "endColumn": 54},
+                                                                                                          "contextRegion": {"startLine": 69,
+                                                                                                                            "snippet": {"text": "  name_constraints_ext = X509_get_ext (x509, ext_idx);\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "...to here"}},
+                                                                        "kinds": ["branch",
+                                                                                  "false"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 2},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(3)",
+                                                                                       "gcc/analyzer/checker_event/kind": "start_cfg_edge",
+                                                                                       "gcc/analyzer/superedge_event/superedge": {"kind": "SUPEREDGE_CFG_EDGE",
+                                                                                                                                  "src_idx": 177,
+                                                                                                                                  "dst_idx": 179,
+                                                                                                                                  "desc": "false (flags FALSE_VALUE | EXECUTABLE)"}},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 70,
+                                                                                                                     "startColumn": 6,
+                                                                                                                     "endColumn": 7},
+                                                                                                          "contextRegion": {"startLine": 70,
+                                                                                                                            "snippet": {"text": "  if (!name_constraints_ext)\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "following ‘false’ branch..."}},
+                                                                        "kinds": ["branch",
+                                                                                  "false"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 3},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(4)",
+                                                                                       "gcc/analyzer/checker_event/kind": "end_cfg_edge",
+                                                                                       "gcc/analyzer/superedge_event/superedge": {"kind": "SUPEREDGE_CFG_EDGE",
+                                                                                                                                  "src_idx": 177,
+                                                                                                                                  "dst_idx": 179,
+                                                                                                                                  "desc": "false (flags FALSE_VALUE | EXECUTABLE)"}},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 77,
+                                                                                                                     "startColumn": 14,
+                                                                                                                     "endColumn": 60},
+                                                                                                          "contextRegion": {"startLine": 77,
+                                                                                                                            "snippet": {"text": "  ext_data = X509_EXTENSION_get_data (name_constraints_ext);\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "...to here"}},
+                                                                        "kinds": ["branch",
+                                                                                  "false"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 4},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(5)",
+                                                                                       "gcc/analyzer/checker_event/kind": "start_cfg_edge",
+                                                                                       "gcc/analyzer/superedge_event/superedge": {"kind": "SUPEREDGE_CFG_EDGE",
+                                                                                                                                  "src_idx": 179,
+                                                                                                                                  "dst_idx": 181,
+                                                                                                                                  "desc": "false (flags FALSE_VALUE | EXECUTABLE)"}},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 78,
+                                                                                                                     "startColumn": 6,
+                                                                                                                     "endColumn": 7},
+                                                                                                          "contextRegion": {"startLine": 78,
+                                                                                                                            "snippet": {"text": "  if (!ext_data)\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "following ‘false’ branch..."}},
+                                                                        "kinds": ["branch",
+                                                                                  "false"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 5},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(6)",
+                                                                                       "gcc/analyzer/checker_event/kind": "end_cfg_edge",
+                                                                                       "gcc/analyzer/superedge_event/superedge": {"kind": "SUPEREDGE_CFG_EDGE",
+                                                                                                                                  "src_idx": 179,
+                                                                                                                                  "dst_idx": 181,
+                                                                                                                                  "desc": "false (flags FALSE_VALUE | EXECUTABLE)"}},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 85,
+                                                                                                                     "startColumn": 9,
+                                                                                                                     "endColumn": 31},
+                                                                                                          "contextRegion": {"startLine": 85,
+                                                                                                                            "snippet": {"text": "  bio = BIO_new (BIO_s_mem ());\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "...to here"}},
+                                                                        "kinds": ["branch",
+                                                                                  "false"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 6},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(7)",
+                                                                                       "gcc/analyzer/checker_event/kind": "start_cfg_edge",
+                                                                                       "gcc/analyzer/superedge_event/superedge": {"kind": "SUPEREDGE_CFG_EDGE",
+                                                                                                                                  "src_idx": 181,
+                                                                                                                                  "dst_idx": 183,
+                                                                                                                                  "desc": "false (flags FALSE_VALUE | EXECUTABLE)"}},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 86,
+                                                                                                                     "startColumn": 6,
+                                                                                                                     "endColumn": 7},
+                                                                                                          "contextRegion": {"startLine": 86,
+                                                                                                                            "snippet": {"text": "  if (!bio)\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "following ‘false’ branch..."}},
+                                                                        "kinds": ["branch",
+                                                                                  "false"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 7},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(8)",
+                                                                                       "gcc/analyzer/checker_event/kind": "end_cfg_edge",
+                                                                                       "gcc/analyzer/superedge_event/superedge": {"kind": "SUPEREDGE_CFG_EDGE",
+                                                                                                                                  "src_idx": 181,
+                                                                                                                                  "dst_idx": 183,
+                                                                                                                                  "desc": "false (flags FALSE_VALUE | EXECUTABLE)"}},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 93,
+                                                                                                                     "startColumn": 8,
+                                                                                                                     "endColumn": 58},
+                                                                                                          "contextRegion": {"startLine": 93,
+                                                                                                                            "snippet": {"text": "  if (!X509V3_EXT_print (bio, name_constraints_ext, 0, 0))\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "...to here"}},
+                                                                        "kinds": ["branch",
+                                                                                  "false"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 8},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(9)",
+                                                                                       "gcc/analyzer/checker_event/kind": "start_cfg_edge",
+                                                                                       "gcc/analyzer/superedge_event/superedge": {"kind": "SUPEREDGE_CFG_EDGE",
+                                                                                                                                  "src_idx": 183,
+                                                                                                                                  "dst_idx": 185,
+                                                                                                                                  "desc": "false (flags FALSE_VALUE | EXECUTABLE)"}},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 93,
+                                                                                                                     "startColumn": 6,
+                                                                                                                     "endColumn": 7},
+                                                                                                          "contextRegion": {"startLine": 93,
+                                                                                                                            "snippet": {"text": "  if (!X509V3_EXT_print (bio, name_constraints_ext, 0, 0))\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "following ‘false’ branch..."}},
+                                                                        "kinds": ["branch",
+                                                                                  "false"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 9},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(10)",
+                                                                                       "gcc/analyzer/checker_event/kind": "end_cfg_edge",
+                                                                                       "gcc/analyzer/superedge_event/superedge": {"kind": "SUPEREDGE_CFG_EDGE",
+                                                                                                                                  "src_idx": 183,
+                                                                                                                                  "dst_idx": 185,
+                                                                                                                                  "desc": "false (flags FALSE_VALUE | EXECUTABLE)"}},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 101,
+                                                                                                                     "startColumn": 13,
+                                                                                                                     "endColumn": 14},
+                                                                                                          "contextRegion": {"startLine": 101,
+                                                                                                                            "snippet": {"text": "  ext_len = BIO_pending (bio);\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "...to here"},
+                                                                                     "id": 0,
+                                                                                     "relationships": [{"target": 1,
+                                                                                                        "kinds": ["isIncludedBy"]}]},
+                                                                        "kinds": ["branch",
+                                                                                  "false"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 10},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(11)",
+                                                                                       "gcc/analyzer/checker_event/kind": "start_cfg_edge",
+                                                                                       "gcc/analyzer/superedge_event/superedge": {"kind": "SUPEREDGE_CFG_EDGE",
+                                                                                                                                  "src_idx": 185,
+                                                                                                                                  "dst_idx": 187,
+                                                                                                                                  "desc": "false (flags FALSE_VALUE | EXECUTABLE)"}},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 102,
+                                                                                                                     "startColumn": 6,
+                                                                                                                     "endColumn": 7},
+                                                                                                          "contextRegion": {"startLine": 102,
+                                                                                                                            "snippet": {"text": "  if (ext_len <= 0)\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "following ‘false’ branch (when ‘ext_len > 0’)..."}},
+                                                                        "kinds": ["branch",
+                                                                                  "false"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 11},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(12)",
+                                                                                       "gcc/analyzer/checker_event/kind": "end_cfg_edge",
+                                                                                       "gcc/analyzer/superedge_event/superedge": {"kind": "SUPEREDGE_CFG_EDGE",
+                                                                                                                                  "src_idx": 185,
+                                                                                                                                  "dst_idx": 187,
+                                                                                                                                  "desc": "false (flags FALSE_VALUE | EXECUTABLE)"}},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 109,
+                                                                                                                     "startColumn": 21,
+                                                                                                                     "endColumn": 32},
+                                                                                                          "contextRegion": {"startLine": 109,
+                                                                                                                            "snippet": {"text": "  ext_str = malloc (ext_len + 1);\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "...to here"}},
+                                                                        "kinds": ["branch",
+                                                                                  "false"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 12},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(13)",
+                                                                                       "gcc/analyzer/checker_event/kind": "state_change"},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 109,
+                                                                                                                     "startColumn": 13,
+                                                                                                                     "endColumn": 33},
+                                                                                                          "contextRegion": {"startLine": 109,
+                                                                                                                            "snippet": {"text": "  ext_str = malloc (ext_len + 1);\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "allocated here"}},
+                                                                        "kinds": ["acquire",
+                                                                                  "memory"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 13},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(14)",
+                                                                                       "gcc/analyzer/checker_event/kind": "state_change"},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 110,
+                                                                                                                     "startColumn": 6,
+                                                                                                                     "endColumn": 7},
+                                                                                                          "contextRegion": {"startLine": 110,
+                                                                                                                            "snippet": {"text": "  if (!ext_str)\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "assuming ‘ext_str’ is non-NULL"}},
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 14},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(15)",
+                                                                                       "gcc/analyzer/checker_event/kind": "start_cfg_edge",
+                                                                                       "gcc/analyzer/superedge_event/superedge": {"kind": "SUPEREDGE_CFG_EDGE",
+                                                                                                                                  "src_idx": 187,
+                                                                                                                                  "dst_idx": 189,
+                                                                                                                                  "desc": "false (flags FALSE_VALUE | EXECUTABLE)"}},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 110,
+                                                                                                                     "startColumn": 6,
+                                                                                                                     "endColumn": 7},
+                                                                                                          "contextRegion": {"startLine": 110,
+                                                                                                                            "snippet": {"text": "  if (!ext_str)\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "following ‘false’ branch (when ‘ext_str’ is non-NULL)..."}},
+                                                                        "kinds": ["branch",
+                                                                                  "false"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 15},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(16)",
+                                                                                       "gcc/analyzer/checker_event/kind": "end_cfg_edge",
+                                                                                       "gcc/analyzer/superedge_event/superedge": {"kind": "SUPEREDGE_CFG_EDGE",
+                                                                                                                                  "src_idx": 187,
+                                                                                                                                  "dst_idx": 189,
+                                                                                                                                  "desc": "false (flags FALSE_VALUE | EXECUTABLE)"}},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 118,
+                                                                                                                     "startColumn": 3,
+                                                                                                                     "endColumn": 35},
+                                                                                                          "contextRegion": {"startLine": 118,
+                                                                                                                            "snippet": {"text": "  BIO_read (bio, ext_str, ext_len);\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "...to here"}},
+                                                                        "kinds": ["branch",
+                                                                                  "false"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 16},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(17)",
+                                                                                       "gcc/analyzer/checker_event/kind": "throw"},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 118,
+                                                                                                                     "startColumn": 3,
+                                                                                                                     "endColumn": 35},
+                                                                                                          "contextRegion": {"startLine": 118,
+                                                                                                                            "snippet": {"text": "  BIO_read (bio, ext_str, ext_len);\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "if ‘BIO_read’ throws an exception..."}},
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 17},
+                                                                       {"properties": {"gcc/analyzer/checker_event/emission_id": "(18)",
+                                                                                       "gcc/analyzer/checker_event/kind": "warning"},
+                                                                        "location": {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                                                               "uriBaseId": "PWD"},
+                                                                                                          "region": {"startLine": 118,
+                                                                                                                     "startColumn": 3,
+                                                                                                                     "endColumn": 35},
+                                                                                                          "contextRegion": {"startLine": 118,
+                                                                                                                            "snippet": {"text": "  BIO_read (bio, ext_str, ext_len);\n"}}},
+                                                                                     "logicalLocations": [{"index": 0,
+                                                                                                           "fullyQualifiedName": "verify_name_constraints"}],
+                                                                                     "message": {"text": "‘ext_str’ leaks here; was allocated at [(13)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/12)"}},
+                                                                        "kinds": ["danger"],
+                                                                        "nestingLevel": 1,
+                                                                        "executionOrder": 18}]}]}],
+                         "relatedLocations": [{"physicalLocation": {"artifactLocation": {"uri": "/usr/include/openssl/evp.h"},
+                                                                    "region": {"startLine": 30},
+                                                                    "contextRegion": {"startLine": 30,
+                                                                                      "snippet": {"text": "# include <openssl/bio.h>\n"}}},
+                                               "relationships": [{"target": 0,
+                                                                  "kinds": ["includes"]},
+                                                                 {"target": 2,
+                                                                  "kinds": ["isIncludedBy"]}],
+                                               "id": 1},
+                                              {"physicalLocation": {"artifactLocation": {"uri": "/usr/include/openssl/x509.h"},
+                                                                    "region": {"startLine": 29},
+                                                                    "contextRegion": {"startLine": 29,
+                                                                                      "snippet": {"text": "# include <openssl/evp.h>\n"}}},
+                                               "relationships": [{"target": 1,
+                                                                  "kinds": ["includes"]},
+                                                                 {"target": 3,
+                                                                  "kinds": ["isIncludedBy"]}],
+                                               "id": 2},
+                                              {"physicalLocation": {"artifactLocation": {"uri": "../test/create_cert_test.c",
+                                                                                         "uriBaseId": "PWD"},
+                                                                    "region": {"startLine": 38},
+                                                                    "contextRegion": {"startLine": 38,
+                                                                                      "snippet": {"text": "#include <openssl/x509.h>\n"}}},
+                                               "relationships": [{"target": 2,
+                                                                  "kinds": ["includes"]}],
+                                               "id": 3}]}],
+            "logicalLocations": [{"name": "verify_name_constraints",
+                                  "fullyQualifiedName": "verify_name_constraints",
+                                  "decoratedName": "verify_name_constraints",
+                                  "kind": "function",
+                                  "index": 0}]}]}
+ 
+ /* { dg-begin-multiline-output "" }
+ In function 'verify_name_constraints':
+ ../test/create_cert_test.c:118:3: warning: leak of ‘ext_str’ [-Wanalyzer-malloc-leak]
+ ......
+   'verify_name_constraints': events 1-18
+ ../test/create_cert_test.c:61:6: (1): following ‘false’ branch...
+ ../test/create_cert_test.c:69:26: (2): ...to here
+ ../test/create_cert_test.c:70:6: (3): following ‘false’ branch...
+ ../test/create_cert_test.c:77:14: (4): ...to here
+ ../test/create_cert_test.c:78:6: (5): following ‘false’ branch...
+ ../test/create_cert_test.c:85:9: (6): ...to here
+ ../test/create_cert_test.c:86:6: (7): following ‘false’ branch...
+ ../test/create_cert_test.c:93:8: (8): ...to here
+ ../test/create_cert_test.c:93:6: (9): following ‘false’ branch...
+ ../test/create_cert_test.c:101:13: (10): ...to here
+ ../test/create_cert_test.c:102:6: (11): following ‘false’ branch (when ‘ext_len > 0’)...
+ ../test/create_cert_test.c:109:21: (12): ...to here
+ ../test/create_cert_test.c:109:13: (13): allocated here
+ ../test/create_cert_test.c:110:6: (14): assuming ‘ext_str’ is non-NULL
+ ../test/create_cert_test.c:110:6: (15): following ‘false’ branch (when ‘ext_str’ is non-NULL)...
+ ../test/create_cert_test.c:118:3: (16): ...to here
+ ../test/create_cert_test.c:118:3: (17): if ‘BIO_read’ throws an exception...
+ ../test/create_cert_test.c:118:3: (18): ‘ext_str’ leaks here; was allocated at (13)
+    { dg-end-multiline-output "" } */
+ 
+ /* Use a Python script to verify various properties about the generated
+    .html file:
+    { dg-final { run-html-pytest missing-source-pr122622.sarif "2.1.0-valid/missing-source-pr122622-check-html.py" } } */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/sarif-replay.dg/2.1.0-valid/spec-example-4.sarif gcc-16-20260125/gcc/testsuite/sarif-replay.dg/2.1.0-valid/spec-example-4.sarif
*** gcc-16-20260118/gcc/testsuite/sarif-replay.dg/2.1.0-valid/spec-example-4.sarif	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/gcc/testsuite/sarif-replay.dg/2.1.0-valid/spec-example-4.sarif	Sun Jan 25 22:32:17 2026
***************
*** 750,759 ****
  In function 'collections::list::add':
  collections/list.h:15:9: error: Variable "ptr" was used without being initialized. It was declared here. [C2001]
    'add': events 1-3
! ......
     { dg-end-multiline-output "" } */
  /* { dg-begin-multiline-output "" }
  collections/list.h:8:5: note: Variable "ptr" was declared here.
     { dg-end-multiline-output "" } */
- 
- // TODO: what's up with the events?
--- 750,759 ----
  In function 'collections::list::add':
  collections/list.h:15:9: error: Variable "ptr" was used without being initialized. It was declared here. [C2001]
    'add': events 1-3
! collections/list.h:15: (1): Variable "ptr" declared.
! collections/list.h:15: (2): 
! collections/list.h:25: (3): Uninitialized variable "ptr" passed to method "add_core".
     { dg-end-multiline-output "" } */
  /* { dg-begin-multiline-output "" }
  collections/list.h:8:5: note: Variable "ptr" was declared here.
     { dg-end-multiline-output "" } */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/sarif-replay.dg/2.1.0-valid/tutorial-example.sarif gcc-16-20260125/gcc/testsuite/sarif-replay.dg/2.1.0-valid/tutorial-example.sarif
*** gcc-16-20260118/gcc/testsuite/sarif-replay.dg/2.1.0-valid/tutorial-example.sarif	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/gcc/testsuite/sarif-replay.dg/2.1.0-valid/tutorial-example.sarif	Sun Jan 25 22:32:17 2026
***************
*** 107,117 ****
  bad-eval-with-code-flow.py:10: warning: Use of tainted variable 'raw_input' in the insecure function 'eval'. [PY2335]
    events 1-2
      |
      |
      +--> event 3
             |
             |
     { dg-end-multiline-output "" } */
- 
- // TODO: show path even when we can't find the source
- // TODO: show path when we can find the source
\ No newline at end of file
--- 107,117 ----
  bad-eval-with-code-flow.py:10: warning: Use of tainted variable 'raw_input' in the insecure function 'eval'. [PY2335]
    events 1-2
      |
+     |bad-eval-with-code-flow.py:5: (1): 
+     |bad-eval-with-code-flow.py:6: (2): 
      |
      +--> event 3
             |
+            |bad-eval-with-code-flow.py:10: (3): 
             |
     { dg-end-multiline-output "" } */
diff -Nrcpad gcc-16-20260118/gcc/testsuite/sparseset.supp gcc-16-20260125/gcc/testsuite/sparseset.supp
*** gcc-16-20260118/gcc/testsuite/sparseset.supp	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/gcc/testsuite/sparseset.supp	Sun Jan 25 22:32:17 2026
***************
*** 0 ****
--- 1,10 ----
+ {
+    SPARSESET1
+    Memcheck:Cond
+    fun:sparseset_bit_p
+ }
+ {
+    SPARSESET2
+    Memcheck:Value8
+    fun:sparseset_bit_p
+ }
diff -Nrcpad gcc-16-20260118/gcc/tree-phinodes.h gcc-16-20260125/gcc/tree-phinodes.h
*** gcc-16-20260118/gcc/tree-phinodes.h	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/gcc/tree-phinodes.h	Sun Jan 25 22:32:17 2026
*************** phi_arg_index_from_use (use_operand_p us
*** 50,62 ****
  {
    struct phi_arg_d *element, *root;
    size_t index;
!   gimple *phi;
  
    /* Since the use is the first thing in a PHI argument element, we can
       calculate its index based on casting it to an argument, and performing
       pointer arithmetic.  */
  
!   phi = USE_STMT (use);
  
    element = (struct phi_arg_d *)use;
    root = gimple_phi_arg (phi, 0);
--- 50,62 ----
  {
    struct phi_arg_d *element, *root;
    size_t index;
!   gphi *phi;
  
    /* Since the use is the first thing in a PHI argument element, we can
       calculate its index based on casting it to an argument, and performing
       pointer arithmetic.  */
  
!   phi = as_a <gphi *> (USE_STMT (use));
  
    element = (struct phi_arg_d *)use;
    root = gimple_phi_arg (phi, 0);
*************** phi_arg_index_from_use (use_operand_p us
*** 71,74 ****
--- 71,83 ----
   return index;
  }
  
+ /* Return the edge into the PHI node USE.  */
+ 
+ inline edge
+ phi_arg_edge_from_use (use_operand_p use)
+ {
+   gphi *phi = as_a <gphi *> (USE_STMT (use));
+   return gimple_phi_arg_edge (phi, phi_arg_index_from_use (use));
+ }
+ 
  #endif /* GCC_TREE_PHINODES_H */
diff -Nrcpad gcc-16-20260118/gcc/tree-ssa-forwprop.cc gcc-16-20260125/gcc/tree-ssa-forwprop.cc
*** gcc-16-20260118/gcc/tree-ssa-forwprop.cc	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/gcc/tree-ssa-forwprop.cc	Sun Jan 25 22:32:17 2026
*************** simplify_vector_constructor (gimple_stmt
*** 4137,4145 ****
  	return false;
        tree mask_type, perm_type, conv_src_type;
        perm_type = TREE_TYPE (orig[0]);
!       conv_src_type = (nelts == refnelts
! 		       ? perm_type
! 		       : build_vector_type (TREE_TYPE (perm_type), nelts));
        if (conv_code != ERROR_MARK
  	  && !supportable_convert_operation (conv_code, type, conv_src_type,
  					     &conv_code))
--- 4137,4151 ----
  	return false;
        tree mask_type, perm_type, conv_src_type;
        perm_type = TREE_TYPE (orig[0]);
!       /* Determine the element type for the conversion source.
! 	 As orig_elem_type keeps track of the original type, check
! 	 if we need to perform a sign swap after permuting.  */
!       tree conv_elem_type = TREE_TYPE (perm_type);
!       if (conv_code != ERROR_MARK
! 	  && orig_elem_type[0]
! 	  && tree_nop_conversion_p (orig_elem_type[0], conv_elem_type))
! 	conv_elem_type = orig_elem_type[0];
!       conv_src_type = build_vector_type (conv_elem_type, nelts);
        if (conv_code != ERROR_MARK
  	  && !supportable_convert_operation (conv_code, type, conv_src_type,
  					     &conv_code))
*************** simplify_vector_constructor (gimple_stmt
*** 4257,4262 ****
--- 4263,4270 ----
  	= converted_orig1 ? build_zero_cst (perm_type) : orig[1];
        tree res = gimple_build (&stmts, VEC_PERM_EXPR, perm_type,
  			       orig[0], orig1_for_perm, op2);
+       /* If we're building a smaller vector, extract the element
+ 	 with the proper type.  */
        if (nelts != refnelts)
  	res = gimple_build (&stmts, BIT_FIELD_REF,
  			    conv_code != ERROR_MARK ? conv_src_type : type,
*************** simplify_vector_constructor (gimple_stmt
*** 4264,4269 ****
--- 4272,4282 ----
  			    TYPE_SIZE (conv_code != ERROR_MARK ? conv_src_type
  							       : type),
  			    bitsize_zero_node);
+       /* Otherwise, we can still have an intermediate sign change.  */
+       else if (conv_code != ERROR_MARK
+ 	       && tree_nop_conversion_p (conv_src_type, perm_type))
+ 	res = gimple_build (&stmts, VIEW_CONVERT_EXPR, conv_src_type, res);
+       /* Finally, apply the conversion.  */
        if (conv_code != ERROR_MARK)
  	res = gimple_build (&stmts, conv_code, type, res);
        else if (!useless_type_conversion_p (type, TREE_TYPE (res)))
diff -Nrcpad gcc-16-20260118/gcc/tree-ssa-loop-im.cc gcc-16-20260125/gcc/tree-ssa-loop-im.cc
*** gcc-16-20260118/gcc/tree-ssa-loop-im.cc	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/gcc/tree-ssa-loop-im.cc	Sun Jan 25 22:32:17 2026
*************** fill_always_executed_in_1 (class loop *l
*** 3493,3586 ****
    edge e;
    class loop *inn_loop = loop;
  
!   if (ALWAYS_EXECUTED_IN (loop->header) == NULL)
      {
!       auto_vec<basic_block, 64> worklist;
!       worklist.reserve_exact (loop->num_nodes);
!       worklist.quick_push (loop->header);
!       do
! 	{
! 	  edge_iterator ei;
! 	  bb = worklist.pop ();
  
! 	  if (!flow_bb_inside_loop_p (inn_loop, bb))
! 	    {
! 	      /* When we are leaving a possibly infinite inner loop
! 		 we have to stop processing.  */
! 	      if (!finite_loop_p (inn_loop))
! 		break;
! 	      /* If the loop was finite we can continue with processing
! 		 the loop we exited to.  */
! 	      inn_loop = bb->loop_father;
! 	    }
  
! 	  if (dominated_by_p (CDI_DOMINATORS, loop->latch, bb))
! 	    last = bb;
  
! 	  if (bitmap_bit_p (contains_call, bb->index))
! 	    break;
  
! 	  /* If LOOP exits from this BB stop processing.  */
! 	  FOR_EACH_EDGE (e, ei, bb->succs)
! 	    if (!flow_bb_inside_loop_p (loop, e->dest))
! 	      break;
! 	  if (e)
! 	    break;
  
! 	  /* A loop might be infinite (TODO use simple loop analysis
! 	     to disprove this if possible).  */
! 	  if (bb->flags & BB_IRREDUCIBLE_LOOP)
! 	    break;
  
! 	  if (bb->loop_father->header == bb)
! 	    /* Record that we enter into a subloop since it might not
! 	       be finite.  */
! 	    /* ???  Entering into a not always executed subloop makes
! 	       fill_always_executed_in quadratic in loop depth since
! 	       we walk those loops N times.  This is not a problem
! 	       in practice though, see PR102253 for a worst-case testcase.  */
! 	    inn_loop = bb->loop_father;
  
! 	  /* Walk the body of LOOP sorted by dominance relation.  Additionally,
! 	     if a basic block S dominates the latch, then only blocks dominated
! 	     by S are after it.
! 	     This is get_loop_body_in_dom_order using a worklist algorithm and
! 	     stopping once we are no longer interested in visiting further
! 	     blocks.  */
! 	  unsigned old_len = worklist.length ();
! 	  unsigned postpone = 0;
! 	  for (basic_block son = first_dom_son (CDI_DOMINATORS, bb);
! 	       son;
! 	       son = next_dom_son (CDI_DOMINATORS, son))
! 	    {
! 	      if (!flow_bb_inside_loop_p (loop, son))
! 		continue;
! 	      if (dominated_by_p (CDI_DOMINATORS, loop->latch, son))
! 		postpone = worklist.length ();
! 	      worklist.quick_push (son);
! 	    }
! 	  if (postpone)
! 	    /* Postponing the block that dominates the latch means
! 	       processing it last and thus putting it earliest in the
! 	       worklist.  */
! 	    std::swap (worklist[old_len], worklist[postpone]);
  	}
!       while (!worklist.is_empty ());
  
!       while (1)
  	{
  	  if (dump_enabled_p ())
  	    dump_printf (MSG_NOTE, "BB %d is always executed in loop %d\n",
  			 last->index, loop->num);
  	  SET_ALWAYS_EXECUTED_IN (last, loop);
- 	  if (last == loop->header)
- 	    break;
- 	  last = get_immediate_dominator (CDI_DOMINATORS, last);
  	}
      }
- 
-   for (loop = loop->inner; loop; loop = loop->next)
-     fill_always_executed_in_1 (loop, contains_call);
  }
  
  /* Fills ALWAYS_EXECUTED_IN information for basic blocks, i.e.
--- 3493,3588 ----
    edge e;
    class loop *inn_loop = loop;
  
!   for (class loop *inner = loop->inner; inner; inner = inner->next)
!     fill_always_executed_in_1 (inner, contains_call);
! 
!   auto_vec<basic_block, 64> worklist;
!   worklist.reserve_exact (loop->num_nodes);
!   worklist.quick_push (loop->header);
!   do
      {
!       edge_iterator ei;
!       bb = worklist.pop ();
  
!       if (!flow_bb_inside_loop_p (inn_loop, bb))
! 	{
! 	  /* When we are leaving a possibly infinite inner loop
! 	     we have to stop processing.  */
! 	  if (!finite_loop_p (inn_loop))
! 	    break;
! 	  /* If the loop was finite we can continue with processing
! 	     the loop we exited to.  */
! 	  inn_loop = bb->loop_father;
! 	}
  
!       if (dominated_by_p (CDI_DOMINATORS, loop->latch, bb))
! 	last = bb;
  
!       if (bitmap_bit_p (contains_call, bb->index))
! 	break;
  
!       /* If LOOP exits from this BB stop processing.  */
!       FOR_EACH_EDGE (e, ei, bb->succs)
! 	if (!flow_bb_inside_loop_p (loop, e->dest))
! 	  break;
!       if (e)
! 	break;
  
!       /* A loop might be infinite (TODO use simple loop analysis
! 	 to disprove this if possible).  */
!       if (bb->flags & BB_IRREDUCIBLE_LOOP)
! 	break;
  
!       if (bb->loop_father->header == bb)
! 	/* Record that we enter into a subloop since it might not
! 	   be finite.  */
! 	/* ???  Entering into a not always executed subloop makes
! 	   fill_always_executed_in quadratic in loop depth since
! 	   we walk those loops N times.  This is not a problem
! 	   in practice though, see PR102253 for a worst-case testcase.  */
! 	inn_loop = bb->loop_father;
  
!       /* Walk the body of LOOP sorted by dominance relation.  Additionally,
! 	 if a basic block S dominates the latch, then only blocks dominated
! 	 by S are after it.
! 	 This is get_loop_body_in_dom_order using a worklist algorithm and
! 	 stopping once we are no longer interested in visiting further
! 	 blocks.  */
!       unsigned old_len = worklist.length ();
!       unsigned postpone = 0;
!       for (basic_block son = first_dom_son (CDI_DOMINATORS, bb);
! 	   son;
! 	   son = next_dom_son (CDI_DOMINATORS, son))
! 	{
! 	  if (!flow_bb_inside_loop_p (loop, son))
! 	    continue;
! 	  if (dominated_by_p (CDI_DOMINATORS, loop->latch, son))
! 	    postpone = worklist.length ();
! 	  worklist.quick_push (son);
  	}
!       if (postpone)
! 	/* Postponing the block that dominates the latch means
! 	   processing it last and thus putting it earliest in the
! 	   worklist.  */
! 	std::swap (worklist[old_len], worklist[postpone]);
!     }
!   while (!worklist.is_empty ());
  
!   while (1)
!     {
!       if (last->loop_father == loop
! 	  || (ALWAYS_EXECUTED_IN (last)
! 	      && loop_outer (ALWAYS_EXECUTED_IN (last)) == loop))
  	{
  	  if (dump_enabled_p ())
  	    dump_printf (MSG_NOTE, "BB %d is always executed in loop %d\n",
  			 last->index, loop->num);
  	  SET_ALWAYS_EXECUTED_IN (last, loop);
  	}
+       if (last == loop->header)
+ 	break;
+       last = get_immediate_dominator (CDI_DOMINATORS, last);
      }
  }
  
  /* Fills ALWAYS_EXECUTED_IN information for basic blocks, i.e.
diff -Nrcpad gcc-16-20260118/gcc/tree-ssa-loop-unswitch.cc gcc-16-20260125/gcc/tree-ssa-loop-unswitch.cc
*** gcc-16-20260118/gcc/tree-ssa-loop-unswitch.cc	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/gcc/tree-ssa-loop-unswitch.cc	Sun Jan 25 22:32:17 2026
*************** hoist_guard (class loop *loop, edge guar
*** 1459,1465 ****
  
    if (skip_count > e->count ())
      {
!       fprintf (dump_file, "  Capping count; expect profile inconsistency\n");
        skip_count = e->count ();
      }
    if (dump_enabled_p ())
--- 1459,1466 ----
  
    if (skip_count > e->count ())
      {
!       if (dump_file && (dump_flags & TDF_DETAILS))
! 	fprintf (dump_file, "  Capping count; expect profile inconsistency\n");
        skip_count = e->count ();
      }
    if (dump_enabled_p ())
diff -Nrcpad gcc-16-20260118/gcc/tree-ssa-pre.cc gcc-16-20260125/gcc/tree-ssa-pre.cc
*** gcc-16-20260118/gcc/tree-ssa-pre.cc	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/gcc/tree-ssa-pre.cc	Sun Jan 25 22:32:17 2026
*************** find_or_generate_expression (basic_block
*** 2768,2774 ****
    if (leader)
      {
        if (leader->kind == NAME)
! 	return PRE_EXPR_NAME (leader);
        else if (leader->kind == CONSTANT)
  	return PRE_EXPR_CONSTANT (leader);
  
--- 2768,2779 ----
    if (leader)
      {
        if (leader->kind == NAME)
! 	{
! 	  tree name = PRE_EXPR_NAME (leader);
! 	  if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name))
! 	    return NULL_TREE;
! 	  return name;
! 	}
        else if (leader->kind == CONSTANT)
  	return PRE_EXPR_CONSTANT (leader);
  
diff -Nrcpad gcc-16-20260118/gcc/tree-vect-generic.cc gcc-16-20260125/gcc/tree-vect-generic.cc
*** gcc-16-20260118/gcc/tree-vect-generic.cc	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/gcc/tree-vect-generic.cc	Sun Jan 25 22:32:17 2026
*************** expand_vector_mult (gimple_stmt_iterator
*** 643,651 ****
  				       LSHIFT_EXPR);
  	      break;
  	    case alg_add_t_m2:
! 	       tmp_var = add_shift (gsi, vectype, op0, shifts, LSHIFT_EXPR);
  	      accumulator = gimplify_build2 (gsi, PLUS_EXPR, vectype, tmp_var,
! 					    accumulator);
  	      break;
  	    case alg_sub_t_m2:
  	      tmp_var = add_shift (gsi, vectype, op0, shifts, LSHIFT_EXPR);
--- 643,651 ----
  				       LSHIFT_EXPR);
  	      break;
  	    case alg_add_t_m2:
! 	      tmp_var = add_shift (gsi, vectype, op0, shifts, LSHIFT_EXPR);
  	      accumulator = gimplify_build2 (gsi, PLUS_EXPR, vectype, tmp_var,
! 					     accumulator);
  	      break;
  	    case alg_sub_t_m2:
  	      tmp_var = add_shift (gsi, vectype, op0, shifts, LSHIFT_EXPR);
*************** expand_vector_mult (gimple_stmt_iterator
*** 674,680 ****
  	      tmp_var = add_shift (gsi, vectype, accumulator, shifts,
  				   LSHIFT_EXPR);
  	      accumulator = gimplify_build2 (gsi, MINUS_EXPR, vectype,
! 					     accumulator, tmp_var);
  	      break;
  	    default:
  	      gcc_unreachable ();
--- 674,680 ----
  	      tmp_var = add_shift (gsi, vectype, accumulator, shifts,
  				   LSHIFT_EXPR);
  	      accumulator = gimplify_build2 (gsi, MINUS_EXPR, vectype,
! 					     tmp_var, accumulator);
  	      break;
  	    default:
  	      gcc_unreachable ();
diff -Nrcpad gcc-16-20260118/gcc/tree-vect-loop.cc gcc-16-20260125/gcc/tree-vect-loop.cc
*** gcc-16-20260118/gcc/tree-vect-loop.cc	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/gcc/tree-vect-loop.cc	Sun Jan 25 22:32:17 2026
*************** vect_create_epilog_for_reduction (loop_v
*** 6287,6294 ****
            scalar_result = scalar_results[k];
            FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, orig_name)
  	    {
  	      FOR_EACH_IMM_USE_ON_STMT (use_p, imm_iter)
! 		SET_USE (use_p, scalar_result);
  	      update_stmt (use_stmt);
  	    }
          }
--- 6287,6303 ----
            scalar_result = scalar_results[k];
            FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, orig_name)
  	    {
+ 	      gphi *use_phi = dyn_cast <gphi *> (use_stmt);
  	      FOR_EACH_IMM_USE_ON_STMT (use_p, imm_iter)
! 		{
! 		  if (use_phi
! 		      && (phi_arg_edge_from_use (use_p)->flags & EDGE_ABNORMAL))
! 		    {
! 		      gcc_assert (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (orig_name));
! 		      SSA_NAME_OCCURS_IN_ABNORMAL_PHI (scalar_result) = 1;
! 		    }
! 		  SET_USE (use_p, scalar_result);
! 		}
  	      update_stmt (use_stmt);
  	    }
          }
*************** vect_transform_reduction (loop_vec_info
*** 8224,8234 ****
  						 vop[2], vop[reduc_index]);
  	    }
  	  else
! 	    {
! 	      gcc_assert (code.is_tree_code ());
! 	      call = gimple_build_call_internal (cond_fn, 4, mask, vop[0],
! 						 vop[1], vop[reduc_index]);
! 	    }
  	  new_temp = make_ssa_name (vec_dest, call);
  	  gimple_call_set_lhs (call, new_temp);
  	  gimple_call_set_nothrow (call, true);
--- 8233,8240 ----
  						 vop[2], vop[reduc_index]);
  	    }
  	  else
! 	    call = gimple_build_call_internal (cond_fn, 4, mask, vop[0],
! 					       vop[1], vop[reduc_index]);
  	  new_temp = make_ssa_name (vec_dest, call);
  	  gimple_call_set_lhs (call, new_temp);
  	  gimple_call_set_nothrow (call, true);
*************** vectorizable_induction (loop_vec_info lo
*** 9825,9838 ****
  	}
        else
  	{
  	  if (init_node)
  	    ;
! 	  else if (INTEGRAL_TYPE_P (TREE_TYPE (steps[0])))
  	    {
  	      new_name = gimple_convert (&init_stmts, stept, inits[0]);
  	      /* Build the initial value directly as a VEC_SERIES_EXPR.  */
  	      vec_init = gimple_build (&init_stmts, VEC_SERIES_EXPR,
! 				       step_vectype, new_name, steps[0]);
  	      if (!useless_type_conversion_p (vectype, step_vectype))
  		vec_init = gimple_build (&init_stmts, VIEW_CONVERT_EXPR,
  					 vectype, vec_init);
--- 9831,9845 ----
  	}
        else
  	{
+ 	  tree step = gimple_convert (&init_stmts, stept, steps[0]);
  	  if (init_node)
  	    ;
! 	  else if (INTEGRAL_TYPE_P (stept))
  	    {
  	      new_name = gimple_convert (&init_stmts, stept, inits[0]);
  	      /* Build the initial value directly as a VEC_SERIES_EXPR.  */
  	      vec_init = gimple_build (&init_stmts, VEC_SERIES_EXPR,
! 				       step_vectype, new_name, step);
  	      if (!useless_type_conversion_p (vectype, step_vectype))
  		vec_init = gimple_build (&init_stmts, VIEW_CONVERT_EXPR,
  					 vectype, vec_init);
*************** vectorizable_induction (loop_vec_info lo
*** 9842,9860 ****
  	      /* Build:
  		 [base, base, base, ...]
  		 + (vectype) [0, 1, 2, ...] * [step, step, step, ...].  */
! 	      gcc_assert (SCALAR_FLOAT_TYPE_P (TREE_TYPE (steps[0])));
  	      gcc_assert (flag_associative_math);
  	      gcc_assert (index_vectype != NULL_TREE);
  
  	      tree index = build_index_vector (index_vectype, 0, 1);
! 	      new_name = gimple_convert (&init_stmts, TREE_TYPE (steps[0]),
! 					 inits[0]);
  	      tree base_vec = gimple_build_vector_from_val (&init_stmts,
  							    step_vectype,
  							    new_name);
  	      tree step_vec = gimple_build_vector_from_val (&init_stmts,
  							    step_vectype,
! 							    steps[0]);
  	      vec_init = gimple_build (&init_stmts, FLOAT_EXPR,
  				       step_vectype, index);
  	      vec_init = gimple_build (&init_stmts, MULT_EXPR,
--- 9849,9866 ----
  	      /* Build:
  		 [base, base, base, ...]
  		 + (vectype) [0, 1, 2, ...] * [step, step, step, ...].  */
! 	      gcc_assert (SCALAR_FLOAT_TYPE_P (stept));
  	      gcc_assert (flag_associative_math);
  	      gcc_assert (index_vectype != NULL_TREE);
  
  	      tree index = build_index_vector (index_vectype, 0, 1);
! 	      new_name = gimple_convert (&init_stmts, stept, inits[0]);
  	      tree base_vec = gimple_build_vector_from_val (&init_stmts,
  							    step_vectype,
  							    new_name);
  	      tree step_vec = gimple_build_vector_from_val (&init_stmts,
  							    step_vectype,
! 							    step);
  	      vec_init = gimple_build (&init_stmts, FLOAT_EXPR,
  				       step_vectype, index);
  	      vec_init = gimple_build (&init_stmts, MULT_EXPR,
*************** vectorizable_induction (loop_vec_info lo
*** 9867,9873 ****
  	    }
  	  /* iv_loop is nested in the loop to be vectorized. Generate:
  	     vec_step = [S, S, S, S]  */
! 	  t = unshare_expr (steps[0]);
  	  gcc_assert (CONSTANT_CLASS_P (t)
  		      || TREE_CODE (t) == SSA_NAME);
  	  vec_step = gimple_build_vector_from_val (&init_stmts,
--- 9873,9879 ----
  	    }
  	  /* iv_loop is nested in the loop to be vectorized. Generate:
  	     vec_step = [S, S, S, S]  */
! 	  t = unshare_expr (step);
  	  gcc_assert (CONSTANT_CLASS_P (t)
  		      || TREE_CODE (t) == SSA_NAME);
  	  vec_step = gimple_build_vector_from_val (&init_stmts,
diff -Nrcpad gcc-16-20260118/gcc/tree-vect-stmts.cc gcc-16-20260125/gcc/tree-vect-stmts.cc
*** gcc-16-20260118/gcc/tree-vect-stmts.cc	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/gcc/tree-vect-stmts.cc	Sun Jan 25 22:32:17 2026
*************** vectorizable_call (vec_info *vinfo,
*** 3721,3727 ****
  
        if (loop_vinfo
  	  && LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P (loop_vinfo)
! 	  && (reduc_idx >= 0 || mask_opno >= 0))
  	{
  	  if (reduc_idx >= 0
  	      && (cond_fn == IFN_LAST
--- 3721,3727 ----
  
        if (loop_vinfo
  	  && LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P (loop_vinfo)
! 	  && (reduc_idx >= 0 || could_trap || mask_opno >= 0))
  	{
  	  if (reduc_idx >= 0
  	      && (cond_fn == IFN_LAST
*************** vectorizable_store (vec_info *vinfo,
*** 8694,8700 ****
  					    memory_access_type, loop_lens);
      }
  
!   if (mask_node && !costing_p)
      LOOP_VINFO_HAS_MASK_STORE (loop_vinfo) = true;
  
    /* In case the vectorization factor (VF) is bigger than the number
--- 8694,8700 ----
  					    memory_access_type, loop_lens);
      }
  
!   if (loop_vinfo && mask_node && !costing_p)
      LOOP_VINFO_HAS_MASK_STORE (loop_vinfo) = true;
  
    /* In case the vectorization factor (VF) is bigger than the number
*************** vectorizable_store (vec_info *vinfo,
*** 8972,8985 ****
  		      (&stmts, ls.supported_offset_vectype, vec_offset);
  		  if (ls.supported_scale)
  		    {
! 		      tree mult_cst = build_int_cst
! 			(TREE_TYPE (TREE_TYPE (vec_offset)),
! 			 SLP_TREE_GS_SCALE (slp_node) / ls.supported_scale);
! 		      tree mult = build_vector_from_val
! 			(TREE_TYPE (vec_offset), mult_cst);
! 		      vec_offset = gimple_build
! 			(&stmts, MULT_EXPR, TREE_TYPE (vec_offset),
! 			 vec_offset, mult);
  		      scale = size_int (ls.supported_scale);
  		    }
  		  gsi_insert_seq_before (gsi, stmts, GSI_SAME_STMT);
--- 8972,8990 ----
  		      (&stmts, ls.supported_offset_vectype, vec_offset);
  		  if (ls.supported_scale)
  		    {
! 		      /* Only scale the vec_offset if we haven't already.  */
! 		      if (STMT_VINFO_GATHER_SCATTER_P (stmt_info)
! 			  || j == 0)
! 			{
! 			  tree mult_cst = build_int_cst
! 			    (TREE_TYPE (TREE_TYPE (vec_offset)),
! 			     SLP_TREE_GS_SCALE (slp_node) / ls.supported_scale);
! 			  tree mult = build_vector_from_val
! 			    (TREE_TYPE (vec_offset), mult_cst);
! 			  vec_offset = gimple_build
! 			    (&stmts, MULT_EXPR, TREE_TYPE (vec_offset),
! 			     vec_offset, mult);
! 			}
  		      scale = size_int (ls.supported_scale);
  		    }
  		  gsi_insert_seq_before (gsi, stmts, GSI_SAME_STMT);
*************** vectorizable_load (vec_info *vinfo,
*** 10923,10936 ****
  		      (&stmts, ls.supported_offset_vectype, vec_offset);
  		  if (ls.supported_scale)
  		    {
! 		      tree mult_cst = build_int_cst
! 			(TREE_TYPE (TREE_TYPE (vec_offset)),
! 			 SLP_TREE_GS_SCALE (slp_node) / ls.supported_scale);
! 		      tree mult = build_vector_from_val
! 			(TREE_TYPE (vec_offset), mult_cst);
! 		      vec_offset = gimple_build
! 			(&stmts, MULT_EXPR, TREE_TYPE (vec_offset),
! 			 vec_offset, mult);
  		      scale = size_int (ls.supported_scale);
  		    }
  		  gsi_insert_seq_before (gsi, stmts, GSI_SAME_STMT);
--- 10928,10946 ----
  		      (&stmts, ls.supported_offset_vectype, vec_offset);
  		  if (ls.supported_scale)
  		    {
! 		      /* Only scale the vec_offset if we haven't already.  */
! 		      if (STMT_VINFO_GATHER_SCATTER_P (stmt_info)
! 			  || i == 0)
! 			{
! 			  tree mult_cst = build_int_cst
! 			    (TREE_TYPE (TREE_TYPE (vec_offset)),
! 			     SLP_TREE_GS_SCALE (slp_node) / ls.supported_scale);
! 			  tree mult = build_vector_from_val
! 			    (TREE_TYPE (vec_offset), mult_cst);
! 			  vec_offset = gimple_build
! 			    (&stmts, MULT_EXPR, TREE_TYPE (vec_offset),
! 			     vec_offset, mult);
! 			}
  		      scale = size_int (ls.supported_scale);
  		    }
  		  gsi_insert_seq_before (gsi, stmts, GSI_SAME_STMT);
diff -Nrcpad gcc-16-20260118/gcc/tree-vrp.cc gcc-16-20260125/gcc/tree-vrp.cc
*** gcc-16-20260118/gcc/tree-vrp.cc	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/gcc/tree-vrp.cc	Sun Jan 25 22:32:17 2026
*************** remove_unreachable::fully_replaceable (t
*** 191,197 ****
  // side effects (like being passed to a call, or stored to a global, etc.
  // This means we will miss cases where there are 2 or more uses that have
  // no interveneing statements that may had side effects, but it catches most
! // of the caes we care about, and prevents expensive in depth analysis.
  //
  // Ranger will still reflect the proper ranges at other places in these missed
  // cases, we simply will not remove/set globals early.
--- 191,197 ----
  // side effects (like being passed to a call, or stored to a global, etc.
  // This means we will miss cases where there are 2 or more uses that have
  // no interveneing statements that may had side effects, but it catches most
! // of the cases we care about, and prevents expensive in depth analysis.
  //
  // Ranger will still reflect the proper ranges at other places in these missed
  // cases, we simply will not remove/set globals early.
diff -Nrcpad gcc-16-20260118/libatomic/ChangeLog gcc-16-20260125/libatomic/ChangeLog
*** gcc-16-20260118/libatomic/ChangeLog	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/libatomic/ChangeLog	Sun Jan 25 22:32:17 2026
***************
*** 1,3 ****
--- 1,18 ----
+ 2026-01-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR libgcc/123650
+ 	* Makefile.am (toolexeclib_DATA): Remove.
+ 	(all-local): For LIBAT_BUILD_ASNEEDED_SOLINK instead of installing
+ 	libatomic_asneeded.{so,a} from top_srcdir cd into the destination
+ 	directory, use echo to write libatomic_asneeded.so and $(LN_S) to
+ 	symlink libatomic_asneeded.a to libatomic.a.
+ 	(install-data-am): For LIBAT_BUILD_ASNEEDED_SOLINK depend on
+ 	install-asneeded.
+ 	(install-asneeded): New goal.
+ 	* libatomic_asneeded.so: Remove.
+ 	* libatomic_asneeded.a: Remove.
+ 	* Makefile.in: Regenerate.
+ 
  2026-01-13  Jakub Jelinek  <jakub@redhat.com>
  
  	PR libstdc++/123396
diff -Nrcpad gcc-16-20260118/libatomic/Makefile.am gcc-16-20260125/libatomic/Makefile.am
*** gcc-16-20260118/libatomic/Makefile.am	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/libatomic/Makefile.am	Sun Jan 25 22:32:17 2026
*************** AM_CCASFLAGS = $(XCFLAGS)
*** 40,48 ****
  AM_LDFLAGS = $(XLDFLAGS) $(SECTION_LDFLAGS) $(OPT_LDFLAGS)
  
  toolexeclib_LTLIBRARIES = libatomic.la
- if LIBAT_BUILD_ASNEEDED_SOLINK
- toolexeclib_DATA = libatomic_asneeded.so libatomic_asneeded.a
- endif
  noinst_LTLIBRARIES = libatomic_convenience.la
  
  if LIBAT_BUILD_VERSIONED_SHLIB
--- 40,45 ----
*************** gcc_objdir = `pwd`/$(MULTIBUILDTOP)../..
*** 187,197 ****
  all-local: libatomic.la
  	$(LIBTOOL) --mode=install $(INSTALL_DATA) libatomic.la $(gcc_objdir)$(MULTISUBDIR)/
  if LIBAT_BUILD_ASNEEDED_SOLINK
! 	$(INSTALL_DATA) $(top_srcdir)/libatomic_asneeded.so $(gcc_objdir)$(MULTISUBDIR)/
! 	$(INSTALL_DATA) $(top_srcdir)/libatomic_asneeded.a $(gcc_objdir)$(MULTISUBDIR)/
  endif
  	rm $(gcc_objdir)$(MULTISUBDIR)/libatomic.la
  
  # target overrides
  -include $(tmake_file)
  
--- 184,213 ----
  all-local: libatomic.la
  	$(LIBTOOL) --mode=install $(INSTALL_DATA) libatomic.la $(gcc_objdir)$(MULTISUBDIR)/
  if LIBAT_BUILD_ASNEEDED_SOLINK
! 	cd $(gcc_objdir)$(MULTISUBDIR) || exit 1; \
! 	(echo "/* GNU ld script"; \
! 	 echo "   Add DT_NEEDED entry for -latomic only if needed.  */"; \
! 	 echo "INPUT ( AS_NEEDED ( -latomic ) )" \
! 	) > libatomic_asneeded.so; \
! 	rm -f libatomic_asneeded.a; \
! 	$(LN_S) libatomic.a libatomic_asneeded.a
  endif
  	rm $(gcc_objdir)$(MULTISUBDIR)/libatomic.la
  
+ if LIBAT_BUILD_ASNEEDED_SOLINK
+ install-data-am: install-asneeded
+ 
+ install-asneeded: install-toolexeclibLTLIBRARIES
+ 	$(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)" || exit 1; \
+ 	cd "$(DESTDIR)$(toolexeclibdir)" || exit 1; \
+ 	(echo "/* GNU ld script"; \
+ 	 echo "   Add DT_NEEDED entry for -latomic only if needed.  */"; \
+ 	 echo "INPUT ( AS_NEEDED ( -latomic ) )" \
+ 	) > libatomic_asneeded.so; \
+ 	rm -f libatomic_asneeded.a; \
+ 	$(LN_S) libatomic.a libatomic_asneeded.a
+ endif
+ 
  # target overrides
  -include $(tmake_file)
  
diff -Nrcpad gcc-16-20260118/libatomic/Makefile.in gcc-16-20260125/libatomic/Makefile.in
*** gcc-16-20260118/libatomic/Makefile.in	Sun Jan 18 22:32:19 2026
--- gcc-16-20260125/libatomic/Makefile.in	Sun Jan 25 22:32:21 2026
***************
*** 14,20 ****
  
  @SET_MAKE@
  
- 
  VPATH = @srcdir@
  am__is_gnu_make = { \
    if test -z '$(MAKELEVEL)'; then \
--- 14,19 ----
*************** am__uninstall_files_from_dir = { \
*** 159,166 ****
      || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
           $(am__cd) "$$dir" && rm -f $$files; }; \
    }
! am__installdirs = "$(DESTDIR)$(toolexeclibdir)" \
! 	"$(DESTDIR)$(toolexeclibdir)"
  LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
  @ARCH_AARCH64_LINUX_TRUE@@PARTIAL_VXWORKS_FALSE@am__objects_1 =  \
  @ARCH_AARCH64_LINUX_TRUE@@PARTIAL_VXWORKS_FALSE@	atomic_16.lo
--- 158,164 ----
      || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
           $(am__cd) "$$dir" && rm -f $$files; }; \
    }
! am__installdirs = "$(DESTDIR)$(toolexeclibdir)"
  LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
  @ARCH_AARCH64_LINUX_TRUE@@PARTIAL_VXWORKS_FALSE@am__objects_1 =  \
  @ARCH_AARCH64_LINUX_TRUE@@PARTIAL_VXWORKS_FALSE@	atomic_16.lo
*************** am__can_run_installinfo = \
*** 246,252 ****
      n|no|NO) false;; \
      *) (install-info --version) >/dev/null 2>&1;; \
    esac
- DATA = $(toolexeclib_DATA)
  RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
    distclean-recursive maintainer-clean-recursive
  am__recursive_targets = \
--- 244,249 ----
*************** AM_CFLAGS = $(XCFLAGS)
*** 425,431 ****
  AM_CCASFLAGS = $(XCFLAGS)
  AM_LDFLAGS = $(XLDFLAGS) $(SECTION_LDFLAGS) $(OPT_LDFLAGS)
  toolexeclib_LTLIBRARIES = libatomic.la
- @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@toolexeclib_DATA = libatomic_asneeded.so libatomic_asneeded.a
  noinst_LTLIBRARIES = libatomic_convenience.la
  @LIBAT_BUILD_VERSIONED_SHLIB_FALSE@libatomic_version_script = 
  @LIBAT_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libatomic_version_script = -Wl,--version-script,$(top_srcdir)/libatomic.map
--- 422,427 ----
*************** clean-libtool:
*** 671,697 ****
  
  distclean-libtool:
  	-rm -f libtool config.lt
- install-toolexeclibDATA: $(toolexeclib_DATA)
- 	@$(NORMAL_INSTALL)
- 	@list='$(toolexeclib_DATA)'; test -n "$(toolexeclibdir)" || list=; \
- 	if test -n "$$list"; then \
- 	  echo " $(MKDIR_P) '$(DESTDIR)$(toolexeclibdir)'"; \
- 	  $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)" || exit 1; \
- 	fi; \
- 	for p in $$list; do \
- 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- 	  echo "$$d$$p"; \
- 	done | $(am__base_list) | \
- 	while read files; do \
- 	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(toolexeclibdir)'"; \
- 	  $(INSTALL_DATA) $$files "$(DESTDIR)$(toolexeclibdir)" || exit $$?; \
- 	done
- 
- uninstall-toolexeclibDATA:
- 	@$(NORMAL_UNINSTALL)
- 	@list='$(toolexeclib_DATA)'; test -n "$(toolexeclibdir)" || list=; \
- 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- 	dir='$(DESTDIR)$(toolexeclibdir)'; $(am__uninstall_files_from_dir)
  
  # This directory's subdirectories are mostly independent; you can cd
  # into them and run 'make' without going through this Makefile.
--- 667,672 ----
*************** distclean-tags:
*** 800,809 ****
  	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
  check-am: all-am
  check: check-recursive
! all-am: Makefile $(LTLIBRARIES) $(DATA) auto-config.h all-local
  installdirs: installdirs-recursive
  installdirs-am:
! 	for dir in "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(toolexeclibdir)"; do \
  	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
  	done
  install: install-recursive
--- 775,784 ----
  	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
  check-am: all-am
  check: check-recursive
! all-am: Makefile $(LTLIBRARIES) auto-config.h all-local
  installdirs: installdirs-recursive
  installdirs-am:
! 	for dir in "$(DESTDIR)$(toolexeclibdir)"; do \
  	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
  	done
  install: install-recursive
*************** info: info-recursive
*** 861,874 ****
  
  info-am:
  
! install-data-am:
  
  install-dvi: install-dvi-recursive
  
  install-dvi-am:
  
! install-exec-am: install-exec-local install-toolexeclibDATA \
! 	install-toolexeclibLTLIBRARIES
  
  install-html: install-html-recursive
  
--- 836,848 ----
  
  info-am:
  
! @LIBAT_BUILD_ASNEEDED_SOLINK_FALSE@install-data-am:
  
  install-dvi: install-dvi-recursive
  
  install-dvi-am:
  
! install-exec-am: install-exec-local install-toolexeclibLTLIBRARIES
  
  install-html: install-html-recursive
  
*************** ps: ps-recursive
*** 911,918 ****
  
  ps-am:
  
! uninstall-am: uninstall-toolexeclibDATA \
! 	uninstall-toolexeclibLTLIBRARIES
  
  .MAKE: $(am__recursive_targets) all install-am install-strip
  
--- 885,891 ----
  
  ps-am:
  
! uninstall-am: uninstall-toolexeclibLTLIBRARIES
  
  .MAKE: $(am__recursive_targets) all install-am install-strip
  
*************** uninstall-am: uninstall-toolexeclibDATA
*** 927,940 ****
  	install-exec install-exec-am install-exec-local install-html \
  	install-html-am install-info install-info-am install-man \
  	install-pdf install-pdf-am install-ps install-ps-am \
! 	install-strip install-toolexeclibDATA \
! 	install-toolexeclibLTLIBRARIES installcheck installcheck-am \
! 	installdirs installdirs-am maintainer-clean \
  	maintainer-clean-generic maintainer-clean-local mostlyclean \
  	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
  	mostlyclean-local pdf pdf-am ps ps-am tags tags-am uninstall \
! 	uninstall-am uninstall-toolexeclibDATA \
! 	uninstall-toolexeclibLTLIBRARIES
  
  .PRECIOUS: Makefile
  
--- 900,911 ----
  	install-exec install-exec-am install-exec-local install-html \
  	install-html-am install-info install-info-am install-man \
  	install-pdf install-pdf-am install-ps install-ps-am \
! 	install-strip install-toolexeclibLTLIBRARIES installcheck \
! 	installcheck-am installdirs installdirs-am maintainer-clean \
  	maintainer-clean-generic maintainer-clean-local mostlyclean \
  	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
  	mostlyclean-local pdf pdf-am ps ps-am tags tags-am uninstall \
! 	uninstall-am uninstall-toolexeclibLTLIBRARIES
  
  .PRECIOUS: Makefile
  
*************** vpath % $(strip $(search_path))
*** 960,969 ****
  all-multi: $(libatomic_la_LIBADD)
  all-local: libatomic.la
  	$(LIBTOOL) --mode=install $(INSTALL_DATA) libatomic.la $(gcc_objdir)$(MULTISUBDIR)/
! @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	$(INSTALL_DATA) $(top_srcdir)/libatomic_asneeded.so $(gcc_objdir)$(MULTISUBDIR)/
! @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	$(INSTALL_DATA) $(top_srcdir)/libatomic_asneeded.a $(gcc_objdir)$(MULTISUBDIR)/
  	rm $(gcc_objdir)$(MULTISUBDIR)/libatomic.la
  
  # target overrides
  -include $(tmake_file)
  
--- 931,957 ----
  all-multi: $(libatomic_la_LIBADD)
  all-local: libatomic.la
  	$(LIBTOOL) --mode=install $(INSTALL_DATA) libatomic.la $(gcc_objdir)$(MULTISUBDIR)/
! @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	cd $(gcc_objdir)$(MULTISUBDIR) || exit 1; \
! @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	(echo "/* GNU ld script"; \
! @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	 echo "   Add DT_NEEDED entry for -latomic only if needed.  */"; \
! @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	 echo "INPUT ( AS_NEEDED ( -latomic ) )" \
! @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	) > libatomic_asneeded.so; \
! @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	rm -f libatomic_asneeded.a; \
! @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	$(LN_S) libatomic.a libatomic_asneeded.a
  	rm $(gcc_objdir)$(MULTISUBDIR)/libatomic.la
  
+ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@install-data-am: install-asneeded
+ 
+ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@install-asneeded: install-toolexeclibLTLIBRARIES
+ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	$(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)" || exit 1; \
+ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	cd "$(DESTDIR)$(toolexeclibdir)" || exit 1; \
+ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	(echo "/* GNU ld script"; \
+ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	 echo "   Add DT_NEEDED entry for -latomic only if needed.  */"; \
+ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	 echo "INPUT ( AS_NEEDED ( -latomic ) )" \
+ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	) > libatomic_asneeded.so; \
+ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	rm -f libatomic_asneeded.a; \
+ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@	$(LN_S) libatomic.a libatomic_asneeded.a
+ 
  # target overrides
  -include $(tmake_file)
  
diff -Nrcpad gcc-16-20260118/libatomic/libatomic_asneeded.a gcc-16-20260125/libatomic/libatomic_asneeded.a
*** gcc-16-20260118/libatomic/libatomic_asneeded.a	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/libatomic/libatomic_asneeded.a	Thu Jan  1 00:00:00 1970
***************
*** 1,3 ****
- /* GNU ld script
-    Just link in libatomic.a.  */
- INPUT ( libatomic.a )
--- 0 ----
diff -Nrcpad gcc-16-20260118/libatomic/libatomic_asneeded.so gcc-16-20260125/libatomic/libatomic_asneeded.so
*** gcc-16-20260118/libatomic/libatomic_asneeded.so	Sun Jan 18 22:32:14 2026
--- gcc-16-20260125/libatomic/libatomic_asneeded.so	Thu Jan  1 00:00:00 1970
***************
*** 1,3 ****
- /* GNU ld script
-    Add DT_NEEDED entry for -latomic only if needed.  */
- INPUT ( AS_NEEDED ( -latomic ) )
--- 0 ----
diff -Nrcpad gcc-16-20260118/libga68/ChangeLog gcc-16-20260125/libga68/ChangeLog
*** gcc-16-20260118/libga68/ChangeLog	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libga68/ChangeLog	Sun Jan 25 22:32:17 2026
***************
*** 1,3 ****
--- 1,24 ----
+ 2026-01-24  Jose E. Marchesi  <jemarch@gnu.org>
+ 
+ 	PR algol68/123733
+ 	* configure.ac: Check for GC_is_init_called in libgc.
+ 	* configure: Regenerate.
+ 
+ 2026-01-20  Pietro Monteiro  <pietro@sociotechnical.xyz>
+ 
+ 	* ga68-alloc.c (_libga68_malloc_leaf): New function.
+ 	* ga68-posix.c (_libga68_posixfgets): Use _libga68_malloc_leaf
+ 	instead of _libga68_malloc.
+ 	* ga68-unistr.c (_libga68_u32_to_u8): Likewise.
+ 	(_libga68_u8_to_u32): Likewise.
+ 	* ga68.h (_libga68_malloc_leaf): New prototype.
+ 	* ga68.map: Add _libga68_malloc_leaf to the global map.
+ 
+ 2026-01-19  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>
+ 
+ 	* configure.ac (--enable-algol68-gc): Change default value to `auto'.
+ 	* configure: Re-generate.
+ 
  2026-01-12  Pietro Monteiro  <pietro@sociotechnical.xyz>
  
  	* configure: Regenerate.
diff -Nrcpad gcc-16-20260118/libga68/configure gcc-16-20260125/libga68/configure
*** gcc-16-20260118/libga68/configure	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libga68/configure	Sun Jan 25 22:32:17 2026
*************** fi
*** 13514,13520 ****
  if test "${enable_algol68_gc+set}" = set; then :
    enableval=$enable_algol68_gc;
  else
!   enable_algol68_gc=no
  fi
  
  
--- 13514,13520 ----
  if test "${enable_algol68_gc+set}" = set; then :
    enableval=$enable_algol68_gc;
  else
!   enable_algol68_gc=auto
  fi
  
  
*************** GC_init()
*** 13660,13666 ****
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
!         if test "$cross_compiling" = yes; then :
              system_bdw_gc_found=no
  
  else
--- 13660,13666 ----
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
!                         if test "$cross_compiling" = yes; then :
              system_bdw_gc_found=no
  
  else
*************** else
*** 13669,13675 ****
  
            #include <gc/gc.h>
            int main() {
!             GC_init();
              return 0;
            }
  
--- 13669,13676 ----
  
            #include <gc/gc.h>
            int main() {
!             if (!GC_is_init_called ())
!                GC_init();
              return 0;
            }
  
*************** rm -f core conftest.err conftest.$ac_obj
*** 13692,13702 ****
      CFLAGS=$save_CFLAGS
      LIBS=$save_LIBS
      if test x$enable_algol68_gc = xauto && test x$system_bdw_gc_found = xno; then
!       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: system bdw-gc not found, building libga68 with no GC support" >&5
! $as_echo "$as_me: WARNING: system bdw-gc not found, building libga68 with no GC support" >&2;}
        use_bdw_gc=no
      elif test x$enable_algol68_gc = xyes && test x$system_bdw_gc_found = xno; then
!       as_fn_error $? "system bdw-gc required but not found" "$LINENO" 5
      else
        use_bdw_gc=yes
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
--- 13693,13703 ----
      CFLAGS=$save_CFLAGS
      LIBS=$save_LIBS
      if test x$enable_algol68_gc = xauto && test x$system_bdw_gc_found = xno; then
!       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: usable system bdw-gc not found, building libga68 with no GC support" >&5
! $as_echo "$as_me: WARNING: usable system bdw-gc not found, building libga68 with no GC support" >&2;}
        use_bdw_gc=no
      elif test x$enable_algol68_gc = xyes && test x$system_bdw_gc_found = xno; then
!       as_fn_error $? "usable system bdw-gc required but not found" "$LINENO" 5
      else
        use_bdw_gc=yes
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
diff -Nrcpad gcc-16-20260118/libga68/configure.ac gcc-16-20260125/libga68/configure.ac
*** gcc-16-20260118/libga68/configure.ac	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libga68/configure.ac	Sun Jan 25 22:32:17 2026
*************** AM_CONDITIONAL(LIBGA68_USE_SYMVER_SUN, [
*** 235,241 ****
  AC_ARG_ENABLE(algol68-gc,
  [AS_HELP_STRING([--enable-algol68-gc],
  		[enable use of Boehm's garbage collector with the
! 		 GNU Algol runtime])],,enable_algol68_gc=no)
  AC_ARG_WITH([target-bdw-gc],
  [AS_HELP_STRING([--with-target-bdw-gc=PATHLIST],
  		[specify prefix directory for installed bdw-gc package.
--- 235,241 ----
  AC_ARG_ENABLE(algol68-gc,
  [AS_HELP_STRING([--enable-algol68-gc],
  		[enable use of Boehm's garbage collector with the
! 		 GNU Algol runtime])],,enable_algol68_gc=auto)
  AC_ARG_WITH([target-bdw-gc],
  [AS_HELP_STRING([--with-target-bdw-gc=PATHLIST],
  		[specify prefix directory for installed bdw-gc package.
*************** no)
*** 356,365 ****
      AC_LINK_IFELSE(
        [AC_LANG_PROGRAM([#include <gc/gc.h>],[GC_init()])],
        [
          AC_RUN_IFELSE([AC_LANG_SOURCE([[
            #include <gc/gc.h>
            int main() {
!             GC_init();
              return 0;
            }
            ]])],
--- 356,368 ----
      AC_LINK_IFELSE(
        [AC_LANG_PROGRAM([#include <gc/gc.h>],[GC_init()])],
        [
+         dnl Make sure to include GC_is_init_called and any other
+         dnl feature that may require a "recent" libgc.
          AC_RUN_IFELSE([AC_LANG_SOURCE([[
            #include <gc/gc.h>
            int main() {
!             if (!GC_is_init_called ())
!                GC_init();
              return 0;
            }
            ]])],
*************** no)
*** 373,382 ****
      CFLAGS=$save_CFLAGS
      LIBS=$save_LIBS
      if test x$enable_algol68_gc = xauto && test x$system_bdw_gc_found = xno; then
!       AC_MSG_WARN([system bdw-gc not found, building libga68 with no GC support])
        use_bdw_gc=no
      elif test x$enable_algol68_gc = xyes && test x$system_bdw_gc_found = xno; then
!       AC_MSG_ERROR([system bdw-gc required but not found])
      else
        use_bdw_gc=yes
        AC_MSG_RESULT([found])
--- 376,385 ----
      CFLAGS=$save_CFLAGS
      LIBS=$save_LIBS
      if test x$enable_algol68_gc = xauto && test x$system_bdw_gc_found = xno; then
!       AC_MSG_WARN([usable system bdw-gc not found, building libga68 with no GC support])
        use_bdw_gc=no
      elif test x$enable_algol68_gc = xyes && test x$system_bdw_gc_found = xno; then
!       AC_MSG_ERROR([usable system bdw-gc required but not found])
      else
        use_bdw_gc=yes
        AC_MSG_RESULT([found])
diff -Nrcpad gcc-16-20260118/libga68/ga68-alloc.c gcc-16-20260125/libga68/ga68-alloc.c
*** gcc-16-20260118/libga68/ga68-alloc.c	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libga68/ga68-alloc.c	Sun Jan 25 22:32:17 2026
*************** _libga68_malloc (size_t size)
*** 80,85 ****
--- 80,94 ----
    return res;
  }
  
+ void *
+ _libga68_malloc_leaf (size_t size)
+ {
+   void *res = (void *) GC_MALLOC_ATOMIC (size);
+   if (!res)
+     _libga68_abort ("Virtual memory exhausted\n");
+   return res;
+ }
+ 
  #else
  
  void
*************** _libga68_malloc (size_t size)
*** 112,115 ****
--- 121,130 ----
    return res;
  }
  
+ void *
+ _libga68_malloc_leaf (size_t size)
+ {
+   return _libga68_malloc (size);
+ }
+ 
  #endif /* !LIBGA68_WITH_GC */
diff -Nrcpad gcc-16-20260118/libga68/ga68-posix.c gcc-16-20260125/libga68/ga68-posix.c
*** gcc-16-20260118/libga68/ga68-posix.c	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libga68/ga68-posix.c	Sun Jan 25 22:32:17 2026
*************** _libga68_posixfgets (int fd, int nchars,
*** 322,328 ****
    if (nchars > 0)
      {
        /* Read exactly nchar or until EOF.  */
!       res = _libga68_malloc (nchars * sizeof (uint32_t));
        do
  	{
  	  uc = _libga68_posixfgetc (fd);
--- 322,328 ----
    if (nchars > 0)
      {
        /* Read exactly nchar or until EOF.  */
!       res = _libga68_malloc_leaf (nchars * sizeof (uint32_t));
        do
  	{
  	  uc = _libga68_posixfgetc (fd);
*************** _libga68_posixfgets (int fd, int nchars,
*** 336,342 ****
      {
        /* Read until newline or EOF.  */
        size_t allocated = 80 * sizeof (uint32_t);
!       res = _libga68_malloc (allocated);
        do
  	{
  	  uc = _libga68_posixfgetc (fd);
--- 336,342 ----
      {
        /* Read until newline or EOF.  */
        size_t allocated = 80 * sizeof (uint32_t);
!       res = _libga68_malloc_leaf (allocated);
        do
  	{
  	  uc = _libga68_posixfgetc (fd);
diff -Nrcpad gcc-16-20260118/libga68/ga68-unistr.c gcc-16-20260125/libga68/ga68-unistr.c
*** gcc-16-20260118/libga68/ga68-unistr.c	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libga68/ga68-unistr.c	Sun Jan 25 22:32:17 2026
*************** _libga68_u32_to_u8 (const uint32_t *s, s
*** 363,369 ****
            if (length + 6 > allocated)
              allocated = length + 6;
            if (result == resultbuf || result == NULL)
! 	    memory = (uint8_t *) _libga68_malloc (allocated * sizeof (uint8_t));
            else
  	    memory =
  	      (uint8_t *) _libga68_realloc (result, allocated * sizeof (uint8_t));
--- 363,369 ----
            if (length + 6 > allocated)
              allocated = length + 6;
            if (result == resultbuf || result == NULL)
! 	    memory = (uint8_t *) _libga68_malloc_leaf (allocated * sizeof (uint8_t));
            else
  	    memory =
  	      (uint8_t *) _libga68_realloc (result, allocated * sizeof (uint8_t));
*************** _libga68_u32_to_u8 (const uint32_t *s, s
*** 384,390 ****
        if (result == NULL)
          {
            /* Return a non-NULL value.  NULL means error.  */
!           result = (uint8_t *) _libga68_malloc (1);
            if (result == NULL)
              {
                errno = ENOMEM;
--- 384,390 ----
        if (result == NULL)
          {
            /* Return a non-NULL value.  NULL means error.  */
! 	  result = (uint8_t *) _libga68_malloc_leaf (1);
            if (result == NULL)
              {
                errno = ENOMEM;
*************** _libga68_u8_to_u32 (const uint8_t *s, si
*** 580,586 ****
            if (length + 1 > allocated)
              allocated = length + 1;
            if (result == resultbuf || result == NULL)
! 	    memory = (uint32_t *) _libga68_malloc (allocated * sizeof (uint32_t));
            else
  	    memory =
  	      (uint32_t *) _libga68_realloc (result, allocated * sizeof (uint32_t));
--- 580,586 ----
            if (length + 1 > allocated)
              allocated = length + 1;
            if (result == resultbuf || result == NULL)
! 	    memory = (uint32_t *) _libga68_malloc_leaf (allocated * sizeof (uint32_t));
            else
  	    memory =
  	      (uint32_t *) _libga68_realloc (result, allocated * sizeof (uint32_t));
*************** _libga68_u8_to_u32 (const uint8_t *s, si
*** 598,604 ****
        if (result == NULL)
          {
            /* Return a non-NULL value.  NULL means error.  */
!           result = (uint32_t *) _libga68_malloc (1);
          }
      }
    else if (result != resultbuf && length < allocated)
--- 598,604 ----
        if (result == NULL)
          {
            /* Return a non-NULL value.  NULL means error.  */
! 	  result = (uint32_t *) _libga68_malloc_leaf (1);
          }
      }
    else if (result != resultbuf && length < allocated)
diff -Nrcpad gcc-16-20260118/libga68/ga68.h gcc-16-20260125/libga68/ga68.h
*** gcc-16-20260118/libga68/ga68.h	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libga68/ga68.h	Sun Jan 25 22:32:17 2026
*************** void _libga68_bounds_mismatch (const cha
*** 70,75 ****
--- 70,76 ----
  
  void _libga68_init_heap (void) GA68_HIDDEN;
  void *_libga68_malloc (size_t size);
+ void *_libga68_malloc_leaf (size_t size);
  void *_libga68_malloc_internal (size_t size) GA68_HIDDEN;
  void *_libga68_realloc (void *ptr, size_t size) GA68_HIDDEN;
  void *_libga68_realloc_unchecked (void *ptr, size_t size) GA68_HIDDEN;
diff -Nrcpad gcc-16-20260118/libga68/ga68.map gcc-16-20260125/libga68/ga68.map
*** gcc-16-20260118/libga68/ga68.map	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libga68/ga68.map	Sun Jan 25 22:32:17 2026
*************** LIBGA68_2.0 {
*** 11,16 ****
--- 11,17 ----
      _libga68_longrandom;
      _libga68_lower_bound;
      _libga68_malloc;
+     _libga68_malloc_leaf;
      _libga68_posixargc;
      _libga68_posixargv;
      _libga68_posixclose;
diff -Nrcpad gcc-16-20260118/libgcc/ChangeLog gcc-16-20260125/libgcc/ChangeLog
*** gcc-16-20260118/libgcc/ChangeLog	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libgcc/ChangeLog	Sun Jan 25 22:32:17 2026
***************
*** 1,3 ****
--- 1,8 ----
+ 2026-01-24  Xin Wang  <wangxinw@hygon.cn>
+ 
+ 	* sync.c: Replace UOItype with UTItype and use mode(TI) pass 16, not
+ 	8, to DEFINE macro.
+ 
  2026-01-13  Jakub Jelinek  <jakub@redhat.com>
  
  	PR libstdc++/123396
diff -Nrcpad gcc-16-20260118/libgcc/sync.c gcc-16-20260125/libgcc/sync.c
*** gcc-16-20260118/libgcc/sync.c	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libgcc/sync.c	Sun Jan 25 22:32:17 2026
*************** see the files COPYING3 and COPYING.RUNTI
*** 124,133 ****
  
  /* Find an appropriate type TYPE for SIZE and invoke DEFINE (FN, SIZE, TYPE).
  
!    The types chosen here may be incorrect for some targets.
!    For example, targets with 16-byte atomicity support might not
!    support OImode.  We would need some kind of target-specific
!    override if that becomes a problem.  */
  
  #if SIZE == 1 && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1
  
--- 124,132 ----
  
  /* Find an appropriate type TYPE for SIZE and invoke DEFINE (FN, SIZE, TYPE).
  
!    The types chosen here are based on standard GCC modes.
!    If a target supports atomic operations for a given SIZE but lacks
!    the corresponding mode, a target-specific override will be needed.  */
  
  #if SIZE == 1 && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1
  
*************** DEFINE (FN, 8, UDItype)
*** 151,158 ****
  
  #elif SIZE == 16 && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
  
! typedef unsigned int UOItype __attribute__((mode (OI)));
! DEFINE (FN, 8, UOItype)
  
  #endif
  
--- 150,157 ----
  
  #elif SIZE == 16 && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
  
! typedef unsigned int UTItype __attribute__((mode (TI)));
! DEFINE (FN, 16, UTItype)
  
  #endif
  
diff -Nrcpad gcc-16-20260118/libgomp/ChangeLog gcc-16-20260125/libgomp/ChangeLog
*** gcc-16-20260118/libgomp/ChangeLog	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libgomp/ChangeLog	Sun Jan 25 22:32:18 2026
***************
*** 1,3 ****
--- 1,54 ----
+ 2026-01-20  Matthew Malcolmson  <mmalcolmson@nvidia.com>
+ 
+ 	PR libgomp/122356
+ 	* config/gcn/bar.c (gomp_team_barrier_wait_end): Atomically read
+ 	team->task_count.
+ 	(gomp_team_barrier_wait_cancel_end): Likewise.
+ 	* config/gcn/bar.h (gomp_team_barrier_done): Atomically write
+ 	bar->generation.
+ 	* config/linux/bar.c (gomp_team_barrier_wait_end): Atomically
+ 	read team->task_count.
+ 	(gomp_team_barrier_wait_cancel_end): Likewise.
+ 	* config/linux/bar.h (gomp_team_barrier_done): Atomically write
+ 	bar->generation.
+ 	* config/posix/bar.c (gomp_team_barrier_wait_end): Atomically
+ 	read team->task_count.
+ 	(gomp_team_barrier_wait_cancel_end): Likewise.
+ 	* config/posix/bar.h (gomp_team_barrier_done): Atomically write
+ 	bar->generation.
+ 	* config/rtems/bar.h (gomp_team_barrier_done): Atomically write
+ 	bar->generation.
+ 	* task.c (gomp_barrier_handle_tasks): Atomically write
+ 	team->task_count when decrementing to zero.
+ 	* testsuite/libgomp.c/pr122356.c: New test.
+ 
+ 2026-01-20  Matthew Malcolmson  <mmalcolmson@nvidia.com>
+ 
+ 	PR libgomp/122314
+ 	PR libgomp/88707
+ 	* config/gcn/bar.c (gomp_team_barrier_wait_end): Use
+ 	gomp_barrier_state_is_incremented.
+ 	(gomp_team_barrier_wait_cancel_end): Likewise.
+ 	* config/gcn/bar.h (gomp_barrier_state_is_incremented,
+ 	gomp_barrier_has_completed): New.
+ 	* config/linux/bar.c (gomp_team_barrier_wait_end): Use
+ 	gomp_barrier_state_is_incremented.
+ 	(gomp_team_barrier_wait_cancel_end): Likewise.
+ 	* config/linux/bar.h (gomp_barrier_state_is_incremented,
+ 	gomp_barrier_has_completed): New.
+ 	* config/nvptx/bar.h (gomp_barrier_state_is_incremented,
+ 	gomp_barrier_has_completed): New.
+ 	* config/posix/bar.c (gomp_team_barrier_wait_end): Use
+ 	gomp_barrier_state_is_incremented.
+ 	(gomp_team_barrier_wait_cancel_end): Likewise
+ 	* config/posix/bar.h (gomp_barrier_state_is_incremented,
+ 	gomp_barrier_has_completed): New.
+ 	* config/rtems/bar.h (gomp_barrier_state_is_incremented,
+ 	gomp_barrier_has_completed): New.
+ 	* task.c (gomp_barrier_handle_tasks): Use
+ 	gomp_barrier_has_completed.
+ 	* testsuite/libgomp.c/pr122314.c: New test.
+ 
  2026-01-15  Josef Melcr  <josef.melcr@suse.com>
  
  	PR ipa/122852
diff -Nrcpad gcc-16-20260118/libgomp/config/gcn/bar.c gcc-16-20260125/libgomp/config/gcn/bar.c
*** gcc-16-20260118/libgomp/config/gcn/bar.c	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libgomp/config/gcn/bar.c	Sun Jan 25 22:32:18 2026
*************** gomp_team_barrier_wait_end (gomp_barrier
*** 89,95 ****
  
        bar->awaited = bar->total;
        team->work_share_cancelled = 0;
!       if (__builtin_expect (team->task_count, 0))
  	{
  	  gomp_barrier_handle_tasks (state);
  	  state &= ~BAR_WAS_LAST;
--- 89,97 ----
  
        bar->awaited = bar->total;
        team->work_share_cancelled = 0;
!       unsigned task_count
! 	= __atomic_load_n (&team->task_count, MEMMODEL_ACQUIRE);
!       if (__builtin_expect (task_count, 0))
  	{
  	  gomp_barrier_handle_tasks (state);
  	  state &= ~BAR_WAS_LAST;
*************** gomp_team_barrier_wait_end (gomp_barrier
*** 128,134 ****
  	  gen = __atomic_load_n (&bar->generation, MEMMODEL_ACQUIRE);
  	}
      }
!   while (gen != state + BAR_INCR);
  }
  
  void
--- 130,136 ----
  	  gen = __atomic_load_n (&bar->generation, MEMMODEL_ACQUIRE);
  	}
      }
!   while (!gomp_barrier_state_is_incremented (gen, state));
  }
  
  void
*************** gomp_team_barrier_wait_cancel_end (gomp_
*** 164,170 ****
  
        bar->awaited = bar->total;
        team->work_share_cancelled = 0;
!       if (__builtin_expect (team->task_count, 0))
  	{
  	  gomp_barrier_handle_tasks (state);
  	  state &= ~BAR_WAS_LAST;
--- 166,174 ----
  
        bar->awaited = bar->total;
        team->work_share_cancelled = 0;
!       unsigned task_count
! 	= __atomic_load_n (&team->task_count, MEMMODEL_ACQUIRE);
!       if (__builtin_expect (task_count, 0))
  	{
  	  gomp_barrier_handle_tasks (state);
  	  state &= ~BAR_WAS_LAST;
*************** gomp_team_barrier_wait_cancel_end (gomp_
*** 207,213 ****
  	  gen = __atomic_load_n (&bar->generation, MEMMODEL_RELAXED);
  	}
      }
!   while (gen != state + BAR_INCR);
  
    return false;
  }
--- 211,217 ----
  	  gen = __atomic_load_n (&bar->generation, MEMMODEL_RELAXED);
  	}
      }
!   while (!gomp_barrier_state_is_incremented (gen, state));
  
    return false;
  }
diff -Nrcpad gcc-16-20260118/libgomp/config/gcn/bar.h gcc-16-20260125/libgomp/config/gcn/bar.h
*** gcc-16-20260118/libgomp/config/gcn/bar.h	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libgomp/config/gcn/bar.h	Sun Jan 25 22:32:18 2026
*************** gomp_team_barrier_cancelled (gomp_barrie
*** 162,168 ****
  static inline void
  gomp_team_barrier_done (gomp_barrier_t *bar, gomp_barrier_state_t state)
  {
!   bar->generation = (state & -BAR_INCR) + BAR_INCR;
  }
  
  #endif /* GOMP_BARRIER_H */
--- 162,187 ----
  static inline void
  gomp_team_barrier_done (gomp_barrier_t *bar, gomp_barrier_state_t state)
  {
!   /* Need the atomic store for acquire-release synchronisation with the
!      load in `gomp_team_barrier_wait_{cancel_,}end`.  See PR112356  */
!   __atomic_store_n (&bar->generation, (state & -BAR_INCR) + BAR_INCR,
! 		    MEMMODEL_RELEASE);
! }
! 
! static inline bool
! gomp_barrier_state_is_incremented (gomp_barrier_state_t gen,
! 				   gomp_barrier_state_t state)
! {
!   unsigned next_state = (state & -BAR_INCR) + BAR_INCR;
!   return next_state > state ? gen >= next_state : gen < state;
! }
! 
! static inline bool
! gomp_barrier_has_completed (gomp_barrier_state_t state, gomp_barrier_t *bar)
! {
!   /* Handling overflow in the generation.  The "next" state could be less than
!      or greater than the current one.  */
!   return gomp_barrier_state_is_incremented (bar->generation, state);
  }
  
  #endif /* GOMP_BARRIER_H */
diff -Nrcpad gcc-16-20260118/libgomp/config/linux/bar.c gcc-16-20260125/libgomp/config/linux/bar.c
*** gcc-16-20260118/libgomp/config/linux/bar.c	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libgomp/config/linux/bar.c	Sun Jan 25 22:32:18 2026
*************** gomp_team_barrier_wait_end (gomp_barrier
*** 90,96 ****
  
        bar->awaited = bar->total;
        team->work_share_cancelled = 0;
!       if (__builtin_expect (team->task_count, 0))
  	{
  	  gomp_barrier_handle_tasks (state);
  	  state &= ~BAR_WAS_LAST;
--- 90,98 ----
  
        bar->awaited = bar->total;
        team->work_share_cancelled = 0;
!       unsigned task_count
! 	= __atomic_load_n (&team->task_count, MEMMODEL_ACQUIRE);
!       if (__builtin_expect (task_count, 0))
  	{
  	  gomp_barrier_handle_tasks (state);
  	  state &= ~BAR_WAS_LAST;
*************** gomp_team_barrier_wait_end (gomp_barrier
*** 118,124 ****
  	}
        generation |= gen & BAR_WAITING_FOR_TASK;
      }
!   while (gen != state + BAR_INCR);
  }
  
  void
--- 120,126 ----
  	}
        generation |= gen & BAR_WAITING_FOR_TASK;
      }
!   while (!gomp_barrier_state_is_incremented (gen, state));
  }
  
  void
*************** gomp_team_barrier_wait_cancel_end (gomp_
*** 154,160 ****
  
        bar->awaited = bar->total;
        team->work_share_cancelled = 0;
!       if (__builtin_expect (team->task_count, 0))
  	{
  	  gomp_barrier_handle_tasks (state);
  	  state &= ~BAR_WAS_LAST;
--- 156,164 ----
  
        bar->awaited = bar->total;
        team->work_share_cancelled = 0;
!       unsigned task_count
! 	= __atomic_load_n (&team->task_count, MEMMODEL_ACQUIRE);
!       if (__builtin_expect (task_count, 0))
  	{
  	  gomp_barrier_handle_tasks (state);
  	  state &= ~BAR_WAS_LAST;
*************** gomp_team_barrier_wait_cancel_end (gomp_
*** 185,191 ****
  	}
        generation |= gen & BAR_WAITING_FOR_TASK;
      }
!   while (gen != state + BAR_INCR);
  
    return false;
  }
--- 189,195 ----
  	}
        generation |= gen & BAR_WAITING_FOR_TASK;
      }
!   while (!gomp_barrier_state_is_incremented (gen, state));
  
    return false;
  }
diff -Nrcpad gcc-16-20260118/libgomp/config/linux/bar.h gcc-16-20260125/libgomp/config/linux/bar.h
*** gcc-16-20260118/libgomp/config/linux/bar.h	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libgomp/config/linux/bar.h	Sun Jan 25 22:32:18 2026
*************** gomp_team_barrier_cancelled (gomp_barrie
*** 162,168 ****
  static inline void
  gomp_team_barrier_done (gomp_barrier_t *bar, gomp_barrier_state_t state)
  {
!   bar->generation = (state & -BAR_INCR) + BAR_INCR;
  }
  
  #endif /* GOMP_BARRIER_H */
--- 162,187 ----
  static inline void
  gomp_team_barrier_done (gomp_barrier_t *bar, gomp_barrier_state_t state)
  {
!   /* Need the atomic store for acquire-release synchronisation with the
!      load in `gomp_team_barrier_wait_{cancel_,}end`.  See PR112356  */
!   __atomic_store_n (&bar->generation, (state & -BAR_INCR) + BAR_INCR,
! 		    MEMMODEL_RELEASE);
! }
! 
! static inline bool
! gomp_barrier_state_is_incremented (gomp_barrier_state_t gen,
! 				   gomp_barrier_state_t state)
! {
!   unsigned next_state = (state & -BAR_INCR) + BAR_INCR;
!   return next_state > state ? gen >= next_state : gen < state;
! }
! 
! static inline bool
! gomp_barrier_has_completed (gomp_barrier_state_t state, gomp_barrier_t *bar)
! {
!   /* Handling overflow in the generation.  The "next" state could be less than
!      or greater than the current one.  */
!   return gomp_barrier_state_is_incremented (bar->generation, state);
  }
  
  #endif /* GOMP_BARRIER_H */
diff -Nrcpad gcc-16-20260118/libgomp/config/nvptx/bar.h gcc-16-20260125/libgomp/config/nvptx/bar.h
*** gcc-16-20260118/libgomp/config/nvptx/bar.h	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libgomp/config/nvptx/bar.h	Sun Jan 25 22:32:18 2026
*************** gomp_team_barrier_done (gomp_barrier_t *
*** 169,172 ****
--- 169,188 ----
    bar->generation = (state & -BAR_INCR) + BAR_INCR;
  }
  
+ static inline bool
+ gomp_barrier_state_is_incremented (gomp_barrier_state_t gen,
+ 				   gomp_barrier_state_t state)
+ {
+   unsigned next_state = (state & -BAR_INCR) + BAR_INCR;
+   return next_state > state ? gen >= next_state : gen < state;
+ }
+ 
+ static inline bool
+ gomp_barrier_has_completed (gomp_barrier_state_t state, gomp_barrier_t *bar)
+ {
+   /* Handling overflow in the generation.  The "next" state could be less than
+      or greater than the current one.  */
+   return gomp_barrier_state_is_incremented (bar->generation, state);
+ }
+ 
  #endif /* GOMP_BARRIER_H */
diff -Nrcpad gcc-16-20260118/libgomp/config/posix/bar.c gcc-16-20260125/libgomp/config/posix/bar.c
*** gcc-16-20260118/libgomp/config/posix/bar.c	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libgomp/config/posix/bar.c	Sun Jan 25 22:32:18 2026
*************** gomp_team_barrier_wait_end (gomp_barrier
*** 123,129 ****
        struct gomp_team *team = thr->ts.team;
  
        team->work_share_cancelled = 0;
!       if (team->task_count)
  	{
  	  gomp_barrier_handle_tasks (state);
  	  if (n > 0)
--- 123,131 ----
        struct gomp_team *team = thr->ts.team;
  
        team->work_share_cancelled = 0;
!       unsigned task_count
! 	= __atomic_load_n (&team->task_count, MEMMODEL_ACQUIRE);
!       if (task_count)
  	{
  	  gomp_barrier_handle_tasks (state);
  	  if (n > 0)
*************** gomp_team_barrier_wait_end (gomp_barrier
*** 156,162 ****
  	      gen = __atomic_load_n (&bar->generation, MEMMODEL_ACQUIRE);
  	    }
  	}
!       while (gen != state + BAR_INCR);
  
  #ifdef HAVE_SYNC_BUILTINS
        n = __sync_add_and_fetch (&bar->arrived, -1);
--- 158,164 ----
  	      gen = __atomic_load_n (&bar->generation, MEMMODEL_ACQUIRE);
  	    }
  	}
!       while (!gomp_barrier_state_is_incremented (gen, state));
  
  #ifdef HAVE_SYNC_BUILTINS
        n = __sync_add_and_fetch (&bar->arrived, -1);
*************** gomp_team_barrier_wait_cancel_end (gomp_
*** 185,191 ****
        struct gomp_team *team = thr->ts.team;
  
        team->work_share_cancelled = 0;
!       if (team->task_count)
  	{
  	  gomp_barrier_handle_tasks (state);
  	  if (n > 0)
--- 187,195 ----
        struct gomp_team *team = thr->ts.team;
  
        team->work_share_cancelled = 0;
!       unsigned task_count
! 	= __atomic_load_n (&team->task_count, MEMMODEL_ACQUIRE);
!       if (task_count)
  	{
  	  gomp_barrier_handle_tasks (state);
  	  if (n > 0)
*************** gomp_team_barrier_wait_cancel_end (gomp_
*** 228,234 ****
  		break;
  	    }
  	}
!       while (gen != state + BAR_INCR);
  
  #ifdef HAVE_SYNC_BUILTINS
        n = __sync_add_and_fetch (&bar->arrived, -1);
--- 232,238 ----
  		break;
  	    }
  	}
!       while (!gomp_barrier_state_is_incremented (gen, state));
  
  #ifdef HAVE_SYNC_BUILTINS
        n = __sync_add_and_fetch (&bar->arrived, -1);
diff -Nrcpad gcc-16-20260118/libgomp/config/posix/bar.h gcc-16-20260125/libgomp/config/posix/bar.h
*** gcc-16-20260118/libgomp/config/posix/bar.h	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libgomp/config/posix/bar.h	Sun Jan 25 22:32:18 2026
*************** gomp_team_barrier_cancelled (gomp_barrie
*** 152,158 ****
  static inline void
  gomp_team_barrier_done (gomp_barrier_t *bar, gomp_barrier_state_t state)
  {
!   bar->generation = (state & -BAR_INCR) + BAR_INCR;
  }
  
  #endif /* GOMP_BARRIER_H */
--- 152,177 ----
  static inline void
  gomp_team_barrier_done (gomp_barrier_t *bar, gomp_barrier_state_t state)
  {
!   /* Need the atomic store for acquire-release synchronisation with the
!      load in `gomp_team_barrier_wait_{cancel_,}end`.  See PR112356  */
!   __atomic_store_n (&bar->generation, (state & -BAR_INCR) + BAR_INCR,
! 		    MEMMODEL_RELEASE);
! }
! 
! static inline bool
! gomp_barrier_state_is_incremented (gomp_barrier_state_t gen,
! 				   gomp_barrier_state_t state)
! {
!   unsigned next_state = (state & -BAR_INCR) + BAR_INCR;
!   return next_state > state ? gen >= next_state : gen < state;
! }
! 
! static inline bool
! gomp_barrier_has_completed (gomp_barrier_state_t state, gomp_barrier_t *bar)
! {
!   /* Handling overflow in the generation.  The "next" state could be less than
!      or greater than the current one.  */
!   return gomp_barrier_state_is_incremented (bar->generation, state);
  }
  
  #endif /* GOMP_BARRIER_H */
diff -Nrcpad gcc-16-20260118/libgomp/config/rtems/bar.h gcc-16-20260125/libgomp/config/rtems/bar.h
*** gcc-16-20260118/libgomp/config/rtems/bar.h	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libgomp/config/rtems/bar.h	Sun Jan 25 22:32:18 2026
*************** gomp_team_barrier_cancelled (gomp_barrie
*** 164,170 ****
  static inline void
  gomp_team_barrier_done (gomp_barrier_t *bar, gomp_barrier_state_t state)
  {
!   bar->generation = (state & -BAR_INCR) + BAR_INCR;
  }
  
  #endif /* GOMP_BARRIER_H */
--- 164,189 ----
  static inline void
  gomp_team_barrier_done (gomp_barrier_t *bar, gomp_barrier_state_t state)
  {
!   /* Need the atomic store for acquire-release synchronisation with the
!      load in `gomp_team_barrier_wait_{cancel_,}end`.  See PR112356  */
!   __atomic_store_n (&bar->generation, (state & -BAR_INCR) + BAR_INCR,
! 		    MEMMODEL_RELEASE);
! }
! 
! static inline bool
! gomp_barrier_state_is_incremented (gomp_barrier_state_t gen,
! 				   gomp_barrier_state_t state)
! {
!   unsigned next_state = (state & -BAR_INCR) + BAR_INCR;
!   return next_state > state ? gen >= next_state : gen < state;
! }
! 
! static inline bool
! gomp_barrier_has_completed (gomp_barrier_state_t state, gomp_barrier_t *bar)
! {
!   /* Handling overflow in the generation.  The "next" state could be less than
!      or greater than the current one.  */
!   return gomp_barrier_state_is_incremented (bar->generation, state);
  }
  
  #endif /* GOMP_BARRIER_H */
diff -Nrcpad gcc-16-20260118/libgomp/task.c gcc-16-20260125/libgomp/task.c
*** gcc-16-20260118/libgomp/task.c	Sun Jan 18 22:32:15 2026
--- gcc-16-20260125/libgomp/task.c	Sun Jan 25 22:32:18 2026
*************** gomp_barrier_handle_tasks (gomp_barrier_
*** 1559,1564 ****
--- 1559,1581 ----
    int do_wake = 0;
  
    gomp_mutex_lock (&team->task_lock);
+   /* Avoid running tasks from next task scheduling region (PR122314).
+      N.b. we check that `team->task_count != 0` in order to avoid the
+      non-atomic read of `bar->generation` "conflicting" (in the C standard
+      sense) with the atomic write of `bar->generation` in
+      `gomp_team_barrier_wait_end`.  That conflict would otherwise be a
+      data-race and hence UB.  One alternate approach could have been to
+      atomically load `bar->generation` in `gomp_barrier_has_completed`.
+ 
+      When `task_count == 0` we're not going to perform tasks anyway, so the
+      problem of PR122314 is naturally avoided.  */
+   if (team->task_count != 0
+       && gomp_barrier_has_completed (state, &team->barrier))
+     {
+       gomp_mutex_unlock (&team->task_lock);
+       return;
+     }
+ 
    if (gomp_barrier_last_thread (state))
      {
        if (team->task_count == 0)
*************** gomp_barrier_handle_tasks (gomp_barrier_
*** 1685,1691 ****
  	      if (do_wake > new_tasks)
  		do_wake = new_tasks;
  	    }
! 	  --team->task_count;
  	}
      }
  }
--- 1702,1714 ----
  	      if (do_wake > new_tasks)
  		do_wake = new_tasks;
  	    }
! 	  /* Need to use RELEASE to sync with barrier read outside of the
! 	     tasking code (See PR122356).  Only care when decrementing to zero
! 	     because that's what the barrier cares about.  */
! 	  if (team->task_count == 1)
! 	    __atomic_store_n (&team->task_count, 0, MEMMODEL_RELEASE);
! 	  else
! 	    team->task_count--;
  	}
      }
  }
diff -Nrcpad gcc-16-20260118/libgomp/testsuite/libgomp.c/pr122314.c gcc-16-20260125/libgomp/testsuite/libgomp.c/pr122314.c
*** gcc-16-20260118/libgomp/testsuite/libgomp.c/pr122314.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libgomp/testsuite/libgomp.c/pr122314.c	Sun Jan 25 22:32:18 2026
***************
*** 0 ****
--- 1,42 ----
+ #include <omp.h>
+ 
+ void abort ();
+ 
+ #define NUM_THREADS 8
+ unsigned full_data[NUM_THREADS] = {0};
+ #pragma omp declare target enter(full_data)
+ 
+ void
+ test ()
+ {
+ #pragma omp parallel num_threads(8)
+   {
+ #pragma omp barrier
+     /* Initialise so that if tasks are performed on the previous barrier their
+        updates get overridden.  This is a key behaviour of this test.  */
+     full_data[omp_get_thread_num ()] = 0;
+ #pragma omp for
+     for (int i = 0; i < 10; i++)
+ #pragma omp task
+       {
+ 	full_data[omp_get_thread_num ()] += 1;
+       }
+   }
+ 
+   unsigned total = 0;
+   for (int i = 0; i < NUM_THREADS; i++)
+     total += full_data[i];
+ 
+   if (total != 10)
+     abort ();
+ }
+ #pragma omp declare target enter(test)
+ 
+ int
+ main ()
+ {
+   test ();
+ 
+ #pragma omp target
+   test ();
+ }
diff -Nrcpad gcc-16-20260118/libgomp/testsuite/libgomp.c/pr122356.c gcc-16-20260125/libgomp/testsuite/libgomp.c/pr122356.c
*** gcc-16-20260118/libgomp/testsuite/libgomp.c/pr122356.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libgomp/testsuite/libgomp.c/pr122356.c	Sun Jan 25 22:32:18 2026
***************
*** 0 ****
--- 1,40 ----
+ #include <omp.h>
+ 
+ void abort ();
+ 
+ #define NUM_THREADS 8
+ unsigned full_data[NUM_THREADS] = {0};
+ #pragma omp declare target enter(full_data)
+ 
+ void
+ test ()
+ {
+ #pragma omp parallel num_threads(8)
+   {
+ #pragma omp for
+     for (int i = 0; i < 10; i++)
+ #pragma omp task
+       {
+ 	full_data[omp_get_thread_num ()] += 1;
+       }
+ #pragma omp barrier
+ 
+     unsigned total = 0;
+     for (int i = 0; i < NUM_THREADS; i++)
+       total += full_data[i];
+ 
+     if (total != 10)
+       abort ();
+   }
+ }
+ #pragma omp declare target enter(test)
+ 
+ 
+ int
+ main ()
+ {
+   test ();
+ 
+   #pragma omp target
+     test ();
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/ChangeLog gcc-16-20260125/libstdc++-v3/ChangeLog
*** gcc-16-20260118/libstdc++-v3/ChangeLog	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/ChangeLog	Sun Jan 25 22:32:19 2026
***************
*** 1,3 ****
--- 1,118 ----
+ 2026-01-23  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	PR libstdc++/123758
+ 	* include/bits/funcwrap.h (_Cpy_base(_Cpy_base const&)):
+ 	Explicitly call _Mo_base() in initializer list.
+ 
+ 2026-01-22  Frank Scheiner  <frank.scheiner@web.de>
+ 
+ 	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt:
+ 	Regenerate.
+ 
+ 2026-01-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* include/bits/version.def (reflection): Add cxx11abi = yes;.
+ 	* include/bits/version.h: Regenerate.
+ 
+ 2026-01-19  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	PR libstdc++/114153
+ 	* include/bits/ranges_cmp.h (__detail::__less_builtin_ptr_cmp):
+ 	Add __not_overloaded_spaceship spaceship check.
+ 	* include/bits/stl_function.h (greater<void>::operator())
+ 	(less<void>::operator(), greater_equal<void>::operator())
+ 	(less_equal<void>::operator()): Implement using if constexpr.
+ 	(greater<void>::__S_cmp, less<void>::__S_cmp)
+ 	(greater_equal<void>::__ptr_comp, less_equal<void>::S_cmp):
+ 	Remove.
+ 	(greater<void>::__ptr_cmp, less<void>::__ptr_cmp)
+ 	(greater_equal<void>::__ptr_comp, less_equal<void>::ptr_cmp): Change
+ 	tostatic constexpr variable. Define in terms of requires expressions
+ 	and __not_overloaded_spaceship check.
+ 	* include/std/concepts: (__detail::__not_overloaded_spaceship):
+ 	Define.
+ 	* libsupc++/compare: (__detail::__3way_builtin_ptr_cmp): Use
+ 	__not_overloaded_spaceship concept.
+ 	* testsuite/20_util/function_objects/comparisons_pointer_spaceship.cc: New test.
+ 
+ 2026-01-19  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	* include/bits/erase_if.h (__detail::__erase_if): Pass mutable
+ 	iterators to __cont.erase.
+ 
+ 2026-01-19  François Dumont  <frs.dumont@gmail.com>
+ 
+ 	* include/bits/erase_if.h (__detail::__erase_if): New.
+ 	* include/debug/deque (std::erase_if<>(__debug::deque<>&, _Pred)): Use latter.
+ 	* include/debug/inplace_vector (std::erase_if<>(__debug::inplace_vector<>&, _Pred)):
+ 	Likewise.
+ 	* include/debug/vector (std::erase_if<>(__debug::vector<>&, _Pred)): Likewise.
+ 	* include/std/deque: Include erase_if.h.
+ 	(std::erase_if<>(std::vector<>&, _Pred)): Adapt to use __detail::__erase_if.
+ 	* include/std/inplace_vector (std::erase_if<>(std::inplace_vector<>&, _Pred)):
+ 	Likewise.
+ 	* include/std/string (std::erase_if<>(std::basic_string<>&, _Pred)): Likewise.
+ 	* include/std/vector (std::erase_if<>(std::vector<>&, _Pred)): Likewise.
+ 	* include/debug/forward_list
+ 	(std::erase_if<>(__debug::forward_list<>&, _Pred)): New.
+ 	(std::erase<>(__debug::forward_list<>&, const _Up&)): New.
+ 	* include/debug/list
+ 	(std::erase_if<>(__debug::list<>&, _Pred)): New.
+ 	(std::erase<>(__debug::list<>&, const _Up&)): New.
+ 	* include/debug/map (std::erase_if<>(__debug::map<>&, _Pred)): New.
+ 	(std::erase_if<>(__debug::multimap<>&, _Pred)): New.
+ 	* include/debug/set (std::erase_if<>(__debug::set<>&, _Pred)): New.
+ 	(std::erase_if<>(__debug::multiset<>&, _Pred)): New.
+ 	* include/debug/string
+ 	(std::erase_if<>(__gnu_debug::basic_string<>&, _Pred)): New.
+ 	(std::erase<>(__gnu_debug::basic_string<>&, const _Up&)): New.
+ 	* include/debug/unordered_map
+ 	(std::erase_if<>(__debug::unordered_map<>&, _Pred)): New.
+ 	(std::erase_if<>(__debug::unordered_multimap<>&, _Pred)): New.
+ 	* include/debug/unordered_set
+ 	(std::erase_if<>(__debug::unordered_set<>&, _Pred)): New.
+ 	(std::erase_if<>(__debug::unordered_multiset<>&, _Pred)): New.
+ 	* include/std/forward_list (std::erase_if<>(std::forward_list<>&, _Pred)):
+ 	Adapt to work exclusively for normal implementation.
+ 	(std::erase<>(std::forward_list<>&, const _Up&)): Likewise.
+ 	* include/std/list (std::erase_if<>(std::list<>&, _Pred)): Likewise.
+ 	(std::erase<>(std::list<>&, const _Up&)): Likewise.
+ 	* include/std/map (std::erase_if<>(std::map<>&, _Pred)): Likewise.
+ 	(std::erase_if<>(std::multimap<>&, _Pred)): Likewise.
+ 	Guard functions using __cpp_lib_erase_if.
+ 	* include/std/set (std::erase_if<>(std::set<>&, _Pred)): Likewise.
+ 	(std::erase_if<>(std::multiset<>&, _Pred)): Likewise.
+ 	Guard functions using __cpp_lib_erase_if.
+ 	* include/std/unordered_map
+ 	(std::erase_if<>(std::unordered_map<>&, _Pred)): Likewise.
+ 	(std::erase_if<>(std::unordered_multimap<>&, _Pred)): Likewise.
+ 	Guard functions using __cpp_lib_erase_if.
+ 	* include/std/unordered_set
+ 	(std::erase_if<>(std::unordered_set<>&, _Pred)): Likewise.
+ 	(std::erase_if<>(std::unordered_multiset<>&, _Pred)): Likewise.
+ 	Guard functions using __cpp_lib_erase_if.
+ 	* testsuite/21_strings/basic_string/debug/erase.cc: New test case.
+ 	* testsuite/23_containers/forward_list/debug/erase.cc: New test case.
+ 	* testsuite/23_containers/forward_list/debug/invalidation/erase.cc: New test case.
+ 	* testsuite/23_containers/list/debug/erase.cc: New test case.
+ 	* testsuite/23_containers/list/debug/invalidation/erase.cc: New test case.
+ 	* testsuite/23_containers/map/debug/erase_if.cc: New test case.
+ 	* testsuite/23_containers/map/debug/invalidation/erase_if.cc: New test case.
+ 	* testsuite/23_containers/multimap/debug/erase_if.cc: New test case.
+ 	* testsuite/23_containers/multimap/debug/invalidation/erase_if.cc: New test case.
+ 	* testsuite/23_containers/multiset/debug/erase_if.cc: New test case.
+ 	* testsuite/23_containers/multiset/debug/invalidation/erase_if.cc: New test case.
+ 	* testsuite/23_containers/set/debug/erase_if.cc: New test case.
+ 	* testsuite/23_containers/set/debug/invalidation/erase_if.cc: New test case.
+ 	* testsuite/23_containers/unordered_map/debug/erase_if.cc: New test case.
+ 	* testsuite/23_containers/unordered_map/debug/invalidation/erase_if.cc: New test case.
+ 	* testsuite/23_containers/unordered_multimap/debug/erase_if.cc: New test case.
+ 	* testsuite/23_containers/unordered_multimap/debug/invalidation/erase_if.cc: New test case.
+ 	* testsuite/23_containers/unordered_multiset/debug/erase_if.cc: New test case.
+ 	* testsuite/23_containers/unordered_multiset/debug/invalidation/erase_if.cc: New test case.
+ 	* testsuite/23_containers/unordered_set/debug/erase_if.cc: New test case.
+ 	* testsuite/23_containers/unordered_set/debug/invalidation/erase_if.cc: New test case.
+ 
  2026-01-15  Jakub Jelinek  <jakub@redhat.com>
  
  	* include/std/type_traits (std::is_reflection, std::is_fundamental,
diff -Nrcpad gcc-16-20260118/libstdc++-v3/config/abi/post/ia64-linux-gnu/baseline_symbols.txt gcc-16-20260125/libstdc++-v3/config/abi/post/ia64-linux-gnu/baseline_symbols.txt
*** gcc-16-20260118/libstdc++-v3/config/abi/post/ia64-linux-gnu/baseline_symbols.txt	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/config/abi/post/ia64-linux-gnu/baseline_symbols.txt	Sun Jan 25 22:32:19 2026
*************** FUNC:_ZNKSt10moneypunctIwLb1EE8groupingE
*** 475,480 ****
--- 475,481 ----
  FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
  FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
  FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
+ FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPPKc@@GLIBCXX_3.4.30
  FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
  FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
  FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
*************** FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc
*** 485,490 ****
--- 486,492 ----
  FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
  FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
  FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
+ FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPPKw@@GLIBCXX_3.4.30
  FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
  FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
  FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
*************** FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw
*** 495,501 ****
--- 497,508 ----
  FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
  FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
  FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt12__basic_fileIcE13native_handleEv@@GLIBCXX_3.4.33
  FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEcvbEv@@GLIBCXX_3.4.31
+ FUNC:_ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EEcvbEv@@GLIBCXX_3.4.31
+ FUNC:_ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEcvbEv@@GLIBCXX_3.4.31
+ FUNC:_ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEcvbEv@@GLIBCXX_3.4.31
  FUNC:_ZNKSt12bad_weak_ptr4whatEv@@GLIBCXX_3.4.15
  FUNC:_ZNKSt12future_error4whatEv@@GLIBCXX_3.4.14
  FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
*************** FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@
*** 666,671 ****
--- 673,685 ----
  FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
  FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
  FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
+ FUNC:_ZNKSt6chrono4tzdb11locate_zoneESt17basic_string_viewIcSt11char_traitsIcEE@@GLIBCXX_3.4.31
+ FUNC:_ZNKSt6chrono4tzdb12current_zoneEv@@GLIBCXX_3.4.31
+ FUNC:_ZNKSt6chrono9time_zone15_M_get_sys_infoENS_10time_pointINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1EEEEEE@@GLIBCXX_3.4.31
+ FUNC:_ZNKSt6chrono9time_zone17_M_get_local_infoENS_10time_pointINS_7local_tENS_8durationIlSt5ratioILl1ELl1EEEEEE@@GLIBCXX_3.4.31
+ FUNC:_ZNKSt6chrono9tzdb_list14const_iteratordeEv@@GLIBCXX_3.4.31
+ FUNC:_ZNKSt6chrono9tzdb_list5beginEv@@GLIBCXX_3.4.31
+ FUNC:_ZNKSt6chrono9tzdb_list5frontEv@@GLIBCXX_3.4.31
  FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
  FUNC:_ZNKSt6locale4nameB5cxx11Ev@@GLIBCXX_3.4.21
  FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
*************** FUNC:_ZNKSt7__cxx118time_getIcSt19istrea
*** 954,959 ****
--- 968,974 ----
  FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES4_S4_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
  FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
  FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4.21
+ FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKcRSt16__time_get_state@@GLIBCXX_3.4.30
  FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES4_S4_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
  FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSD_@@GLIBCXX_3.4.21
  FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
*************** FUNC:_ZNKSt7__cxx118time_getIwSt19istrea
*** 973,978 ****
--- 988,994 ----
  FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES4_S4_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
  FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
  FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4.21
+ FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKwRSt16__time_get_state@@GLIBCXX_3.4.30
  FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES4_S4_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
  FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSD_@@GLIBCXX_3.4.21
  FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
*************** FUNC:_ZNKSt8time_getIcSt19istreambuf_ite
*** 1225,1230 ****
--- 1241,1247 ----
  FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
  FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
  FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
+ FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKcRSt16__time_get_state@@GLIBCXX_3.4.30
  FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14
  FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSC_@@GLIBCXX_3.4.21
  FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.26
*************** FUNC:_ZNKSt8time_getIwSt19istreambuf_ite
*** 1244,1249 ****
--- 1261,1267 ----
  FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
  FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
  FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
+ FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKwRSt16__time_get_state@@GLIBCXX_3.4.30
  FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14
  FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSC_@@GLIBCXX_3.4.21
  FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.26
*************** FUNC:_ZNSt12__shared_ptrINSt10filesystem
*** 2106,2111 ****
--- 2124,2133 ----
  FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
  FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
  FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+ FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+ FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+ FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+ FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
  FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
  FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
  FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
*************** FUNC:_ZNSt16__numpunct_cacheIwEC2Em@@GLI
*** 2818,2823 ****
--- 2840,2846 ----
  FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
  FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
  FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt16__time_get_state17_M_finalize_stateEP2tm@@GLIBCXX_3.4.30
  FUNC:_ZNSt16bad_array_lengthD0Ev@@CXXABI_1.3.8
  FUNC:_ZNSt16bad_array_lengthD1Ev@@CXXABI_1.3.8
  FUNC:_ZNSt16bad_array_lengthD2Ev@@CXXABI_1.3.8
*************** FUNC:_ZNSt18basic_stringstreamIwSt11char
*** 2928,2934 ****
  FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
  FUNC:_ZNSt18condition_variable10notify_allEv@@GLIBCXX_3.4.11
  FUNC:_ZNSt18condition_variable10notify_oneEv@@GLIBCXX_3.4.11
! FUNC:_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@@GLIBCXX_3.4.11
  FUNC:_ZNSt18condition_variableC1Ev@@GLIBCXX_3.4.11
  FUNC:_ZNSt18condition_variableC2Ev@@GLIBCXX_3.4.11
  FUNC:_ZNSt18condition_variableD1Ev@@GLIBCXX_3.4.11
--- 2951,2958 ----
  FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
  FUNC:_ZNSt18condition_variable10notify_allEv@@GLIBCXX_3.4.11
  FUNC:_ZNSt18condition_variable10notify_oneEv@@GLIBCXX_3.4.11
! FUNC:_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@@GLIBCXX_3.4.30
! FUNC:_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@GLIBCXX_3.4.11
  FUNC:_ZNSt18condition_variableC1Ev@@GLIBCXX_3.4.11
  FUNC:_ZNSt18condition_variableC2Ev@@GLIBCXX_3.4.11
  FUNC:_ZNSt18condition_variableD1Ev@@GLIBCXX_3.4.11
*************** FUNC:_ZNSt6__norm15_List_node_base7_M_ho
*** 3087,3095 ****
--- 3111,3128 ----
  FUNC:_ZNSt6__norm15_List_node_base7reverseEv@@GLIBCXX_3.4.9
  FUNC:_ZNSt6__norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.9
  FUNC:_ZNSt6__norm15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14
+ FUNC:_ZNSt6chrono11locate_zoneESt17basic_string_viewIcSt11char_traitsIcEE@@GLIBCXX_3.4.31
+ FUNC:_ZNSt6chrono11reload_tzdbEv@@GLIBCXX_3.4.31
+ FUNC:_ZNSt6chrono12current_zoneEv@@GLIBCXX_3.4.31
  FUNC:_ZNSt6chrono12system_clock3nowEv@@GLIBCXX_3.4.11
+ FUNC:_ZNSt6chrono13get_tzdb_listEv@@GLIBCXX_3.4.31
+ FUNC:_ZNSt6chrono14remote_versionB5cxx11Ev@@GLIBCXX_3.4.31
  FUNC:_ZNSt6chrono3_V212steady_clock3nowEv@@GLIBCXX_3.4.19
  FUNC:_ZNSt6chrono3_V212system_clock3nowEv@@GLIBCXX_3.4.19
+ FUNC:_ZNSt6chrono8get_tzdbEv@@GLIBCXX_3.4.31
+ FUNC:_ZNSt6chrono9tzdb_list11erase_afterENS0_14const_iteratorE@@GLIBCXX_3.4.31
+ FUNC:_ZNSt6chrono9tzdb_list14const_iteratorppEi@@GLIBCXX_3.4.31
+ FUNC:_ZNSt6chrono9tzdb_list14const_iteratorppEv@@GLIBCXX_3.4.31
  FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCXX_3.4
  FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCXX_3.4
  FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
*************** FUNC:_ZNSt7__cxx1112basic_stringIcSt11ch
*** 3186,3196 ****
--- 3219,3232 ----
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEmm@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm@@GLIBCXX_3.4.21
+ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_S_allocateERS3_m@@GLIBCXX_3.4.32
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcOS3_@@GLIBCXX_3.4.23
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@@GLIBCXX_3.4.21
+ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcm@@GLIBCXX_3.4.34
+ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcm@@GLIBCXX_3.4.34
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
*************** FUNC:_ZNSt7__cxx1112basic_stringIcSt11ch
*** 3205,3210 ****
--- 3241,3247 ----
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5_@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13shrink_to_fitEv@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEmmmc@@GLIBCXX_3.4.21
+ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_replace_coldEPcmPKcmm@@GLIBCXX_3.4.31
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17_S_to_string_viewESt17basic_string_viewIcS2_E@@GLIBCXX_3.4.26
  FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE18_M_construct_aux_2Emc@@GLIBCXX_3.4.21
*************** FUNC:_ZNSt7__cxx1112basic_stringIwSt11ch
*** 3337,3347 ****
--- 3374,3387 ----
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_replaceEmmPKwm@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_S_compareEmm@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_capacityEm@@GLIBCXX_3.4.21
+ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_S_allocateERS3_m@@GLIBCXX_3.4.32
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwOS3_@@GLIBCXX_3.4.23
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS3_@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEmw@@GLIBCXX_3.4.21
+ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwm@@GLIBCXX_3.4.34
+ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwm@@GLIBCXX_3.4.34
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
*************** FUNC:_ZNSt7__cxx1112basic_stringIwSt11ch
*** 3356,3361 ****
--- 3396,3402 ----
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS5_S5_@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13shrink_to_fitEv@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@@GLIBCXX_3.4.21
+ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE15_M_replace_coldEPwmPKwmm@@GLIBCXX_3.4.31
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17_S_to_string_viewESt17basic_string_viewIwS2_E@@GLIBCXX_3.4.26
  FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE18_M_construct_aux_2Emw@@GLIBCXX_3.4.21
*************** FUNC:_ZNSt8__detail15_List_node_base11_M
*** 3908,3913 ****
--- 3949,3956 ----
  FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
  FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
  FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+ FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+ FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
  FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
  FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
  FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
*************** FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
*** 4100,4105 ****
--- 4143,4149 ----
  FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
  FUNC:_ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order@@GLIBCXX_3.4.11
  FUNC:_ZNVSt9__atomic011atomic_flag5clearESt12memory_order@@GLIBCXX_3.4.11
+ FUNC:_ZSt10from_charsPKcS0_RDF128_St12chars_format@@GLIBCXX_3.4.31
  FUNC:_ZSt10from_charsPKcS0_RdSt12chars_format@@GLIBCXX_3.4.29
  FUNC:_ZSt10from_charsPKcS0_ReSt12chars_format@@GLIBCXX_3.4.29
  FUNC:_ZSt10from_charsPKcS0_RfSt12chars_format@@GLIBCXX_3.4.29
*************** FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12
*** 4113,4118 ****
--- 4157,4206 ----
  FUNC:_ZSt14get_unexpectedv@@GLIBCXX_3.4.20
  FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
  FUNC:_ZSt15_Fnv_hash_bytesPKvmm@@CXXABI_1.3.5
+ FUNC:_ZSt15__try_use_facetINSt7__cxx1110moneypunctIcLb0EEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetINSt7__cxx1110moneypunctIcLb1EEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetINSt7__cxx1110moneypunctIwLb0EEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetINSt7__cxx1110moneypunctIwLb1EEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetINSt7__cxx117collateIcEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetINSt7__cxx117collateIwEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetINSt7__cxx118messagesIcEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetINSt7__cxx118messagesIwEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetINSt7__cxx118numpunctIcEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetINSt7__cxx118numpunctIwEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt10moneypunctIcLb0EEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt10moneypunctIcLb1EEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt10moneypunctIwLb0EEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt10moneypunctIwLb1EEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt11__timepunctIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt11__timepunctIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt5ctypeIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt5ctypeIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt7codecvtIcc11__mbstate_tEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt7codecvtIwc11__mbstate_tEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt7collateIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt7collateIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt8messagesIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt8messagesIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt8numpunctIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt8numpunctIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+ FUNC:_ZSt15__try_use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
  FUNC:_ZSt15future_categoryv@@GLIBCXX_3.4.15
  FUNC:_ZSt15get_new_handlerv@@GLIBCXX_3.4.20
  FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
*************** FUNC:_ZSt20__throw_future_errori@@GLIBCX
*** 4150,4161 ****
--- 4238,4255 ----
  FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
  FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
  FUNC:_ZSt20__throw_system_errori@@GLIBCXX_3.4.11
+ FUNC:_ZSt20__to_chars_float16_tPcS_fSt12chars_format@@GLIBCXX_3.4.31
  FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
  FUNC:_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
  FUNC:_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
+ FUNC:_ZSt21__glibcxx_assert_failPKciS0_S0_@@GLIBCXX_3.4.30
  FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
  FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
+ FUNC:_ZSt21__to_chars_bfloat16_tPcS_fSt12chars_format@@GLIBCXX_3.4.31
+ FUNC:_ZSt21ios_base_library_initv@@GLIBCXX_3.4.32
+ FUNC:_ZSt22__from_chars_float16_tPKcS0_RfSt12chars_format@@GLIBCXX_3.4.31
  FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
+ FUNC:_ZSt23__from_chars_bfloat16_tPKcS0_RfSt12chars_format@@GLIBCXX_3.4.31
  FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
  FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
  FUNC:_ZSt24__throw_out_of_range_fmtPKcz@@GLIBCXX_3.4.20
*************** FUNC:_ZSt7getlineIwSt11char_traitsIwESaI
*** 4180,4185 ****
--- 4274,4282 ----
  FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@@GLIBCXX_3.4.21
  FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
  FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
+ FUNC:_ZSt8to_charsPcS_DF128_@@GLIBCXX_3.4.31
+ FUNC:_ZSt8to_charsPcS_DF128_St12chars_format@@GLIBCXX_3.4.31
+ FUNC:_ZSt8to_charsPcS_DF128_St12chars_formati@@GLIBCXX_3.4.31
  FUNC:_ZSt8to_charsPcS_d@@GLIBCXX_3.4.29
  FUNC:_ZSt8to_charsPcS_dSt12chars_format@@GLIBCXX_3.4.29
  FUNC:_ZSt8to_charsPcS_dSt12chars_formati@@GLIBCXX_3.4.29
*************** FUNC:__cxa_allocate_exception@@CXXABI_1.
*** 4447,4452 ****
--- 4544,4550 ----
  FUNC:__cxa_bad_cast@@CXXABI_1.3
  FUNC:__cxa_bad_typeid@@CXXABI_1.3
  FUNC:__cxa_begin_catch@@CXXABI_1.3
+ FUNC:__cxa_call_terminate@@CXXABI_1.3.15
  FUNC:__cxa_call_unexpected@@CXXABI_1.3
  FUNC:__cxa_current_exception_type@@CXXABI_1.3
  FUNC:__cxa_deleted_virtual@@CXXABI_1.3.6
*************** OBJECT:0:CXXABI_1.3.10
*** 4489,4494 ****
--- 4587,4594 ----
  OBJECT:0:CXXABI_1.3.11
  OBJECT:0:CXXABI_1.3.12
  OBJECT:0:CXXABI_1.3.13
+ OBJECT:0:CXXABI_1.3.14
+ OBJECT:0:CXXABI_1.3.15
  OBJECT:0:CXXABI_1.3.2
  OBJECT:0:CXXABI_1.3.3
  OBJECT:0:CXXABI_1.3.4
*************** OBJECT:0:GLIBCXX_3.4.27
*** 4523,4528 ****
--- 4623,4633 ----
  OBJECT:0:GLIBCXX_3.4.28
  OBJECT:0:GLIBCXX_3.4.29
  OBJECT:0:GLIBCXX_3.4.3
+ OBJECT:0:GLIBCXX_3.4.30
+ OBJECT:0:GLIBCXX_3.4.31
+ OBJECT:0:GLIBCXX_3.4.32
+ OBJECT:0:GLIBCXX_3.4.33
+ OBJECT:0:GLIBCXX_3.4.34
  OBJECT:0:GLIBCXX_3.4.4
  OBJECT:0:GLIBCXX_3.4.5
  OBJECT:0:GLIBCXX_3.4.6
*************** OBJECT:168:_ZTVSt14basic_iostreamIwSt11c
*** 4627,4632 ****
--- 4732,4742 ----
  OBJECT:168:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
  OBJECT:168:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
  OBJECT:168:_ZTVSt9strstream@@GLIBCXX_3.4
+ OBJECT:16:_ZTIDF128_@@CXXABI_1.3.14
+ OBJECT:16:_ZTIDF32_@@CXXABI_1.3.14
+ OBJECT:16:_ZTIDF32x@@CXXABI_1.3.14
+ OBJECT:16:_ZTIDF64_@@CXXABI_1.3.14
+ OBJECT:16:_ZTIDF64x@@CXXABI_1.3.14
  OBJECT:16:_ZTIDd@@CXXABI_1.3.4
  OBJECT:16:_ZTIDe@@CXXABI_1.3.4
  OBJECT:16:_ZTIDf@@CXXABI_1.3.4
*************** OBJECT:30:_ZTSSt7codecvtIDiDu11__mbstate
*** 5302,5307 ****
--- 5412,5422 ----
  OBJECT:30:_ZTSSt7codecvtIDsDu11__mbstate_tE@@GLIBCXX_3.4.26
  OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
  OBJECT:32:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
+ OBJECT:32:_ZTIPDF128_@@CXXABI_1.3.14
+ OBJECT:32:_ZTIPDF32_@@CXXABI_1.3.14
+ OBJECT:32:_ZTIPDF32x@@CXXABI_1.3.14
+ OBJECT:32:_ZTIPDF64_@@CXXABI_1.3.14
+ OBJECT:32:_ZTIPDF64x@@CXXABI_1.3.14
  OBJECT:32:_ZTIPDd@@CXXABI_1.3.4
  OBJECT:32:_ZTIPDe@@CXXABI_1.3.4
  OBJECT:32:_ZTIPDf@@CXXABI_1.3.4
*************** OBJECT:32:_ZTIPDi@@CXXABI_1.3.3
*** 5309,5314 ****
--- 5424,5434 ----
  OBJECT:32:_ZTIPDn@@CXXABI_1.3.5
  OBJECT:32:_ZTIPDs@@CXXABI_1.3.3
  OBJECT:32:_ZTIPDu@@CXXABI_1.3.12
+ OBJECT:32:_ZTIPKDF128_@@CXXABI_1.3.14
+ OBJECT:32:_ZTIPKDF32_@@CXXABI_1.3.14
+ OBJECT:32:_ZTIPKDF32x@@CXXABI_1.3.14
+ OBJECT:32:_ZTIPKDF64_@@CXXABI_1.3.14
+ OBJECT:32:_ZTIPKDF64x@@CXXABI_1.3.14
  OBJECT:32:_ZTIPKDd@@CXXABI_1.3.4
  OBJECT:32:_ZTIPKDe@@CXXABI_1.3.4
  OBJECT:32:_ZTIPKDf@@CXXABI_1.3.4
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/bits/erase_if.h gcc-16-20260125/libstdc++-v3/include/bits/erase_if.h
*** gcc-16-20260118/libstdc++-v3/include/bits/erase_if.h	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/bits/erase_if.h	Sun Jan 25 22:32:19 2026
***************
*** 35,40 ****
--- 35,41 ----
  #endif
  
  #include <bits/c++config.h>
+ #include <bits/stl_algobase.h>
  
  // Used by C++17 containers and Library Fundamentals v2 headers.
  #if __cplusplus >= 201402L
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 46,51 ****
--- 47,73 ----
    {
      template<typename _Container, typename _UnsafeContainer,
  	     typename _Predicate>
+       _GLIBCXX20_CONSTEXPR
+       typename _Container::size_type
+       __erase_if(_Container& __cont, _UnsafeContainer& __ucont,
+ 		 _Predicate __pred)
+       {
+ 	const auto __osz = __ucont.size();
+ 	const auto __end = __ucont.end();
+ 	auto __removed = std::__remove_if(__ucont.begin(), __end,
+ 					  std::move(__pred));
+ 	if (__removed != __end)
+ 	  {
+ 	    __cont.erase(__niter_wrap(__cont.begin(), __removed),
+ 			 __cont.end());
+ 	    return __osz - __ucont.size();
+ 	  }
+ 
+ 	return 0;
+       }
+ 
+     template<typename _Container, typename _UnsafeContainer,
+ 	     typename _Predicate>
        typename _Container::size_type
        __erase_nodes_if(_Container& __cont, _UnsafeContainer& __ucont,
  		       _Predicate __pred)
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/bits/funcwrap.h gcc-16-20260125/libstdc++-v3/include/bits/funcwrap.h
*** gcc-16-20260118/libstdc++-v3/include/bits/funcwrap.h	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/bits/funcwrap.h	Sun Jan 25 22:32:19 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 495,500 ****
--- 495,501 ----
        _Cpy_base(_Cpy_base&&) = default;
  
        _Cpy_base(_Cpy_base const& __x)
+       : _Mo_base()
        { _M_copy(__x); }
  
        _Cpy_base&
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/bits/ranges_cmp.h gcc-16-20260125/libstdc++-v3/include/bits/ranges_cmp.h
*** gcc-16-20260118/libstdc++-v3/include/bits/ranges_cmp.h	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/bits/ranges_cmp.h	Sun Jan 25 22:32:19 2026
*************** namespace ranges
*** 71,80 ****
  	= requires (_Tp&& __t, _Up&& __u) { { __t < __u } -> same_as<bool>; }
  	  && convertible_to<_Tp, const volatile void*>
  	  && convertible_to<_Up, const volatile void*>
! 	  && (! requires(_Tp&& __t, _Up&& __u)
  	      { operator<(std::forward<_Tp>(__t), std::forward<_Up>(__u)); }
! 	      && ! requires(_Tp&& __t, _Up&& __u)
! 	      { std::forward<_Tp>(__t).operator<(std::forward<_Up>(__u)); });
    } // namespace __detail
  
    // [range.cmp] Concept-constrained comparisons
--- 71,81 ----
  	= requires (_Tp&& __t, _Up&& __u) { { __t < __u } -> same_as<bool>; }
  	  && convertible_to<_Tp, const volatile void*>
  	  && convertible_to<_Up, const volatile void*>
! 	  && ! requires(_Tp&& __t, _Up&& __u)
  	      { operator<(std::forward<_Tp>(__t), std::forward<_Up>(__u)); }
! 	  && ! requires(_Tp&& __t, _Up&& __u)
! 	      { std::forward<_Tp>(__t).operator<(std::forward<_Up>(__u)); }
! 	  && std::__detail::__not_overloaded_spaceship<_Tp, _Up>;
    } // namespace __detail
  
    // [range.cmp] Concept-constrained comparisons
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/bits/stl_function.h gcc-16-20260125/libstdc++-v3/include/bits/stl_function.h
*** gcc-16-20260118/libstdc++-v3/include/bits/stl_function.h	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/bits/stl_function.h	Sun Jan 25 22:32:19 2026
***************
*** 59,64 ****
--- 59,67 ----
  #if __cplusplus > 201103L
  #include <bits/move.h>
  #endif
+ #if __cplusplus >= 202002L
+ #include <concepts>
+ #endif
  
  namespace std _GLIBCXX_VISIBILITY(default)
  {
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 525,532 ****
  	noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u))
  	{
! 	  return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
! 			__ptr_cmp<_Tp, _Up>{});
  	}
  
        template<typename _Tp, typename _Up>
--- 528,542 ----
  	noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u))
  	{
! #pragma GCC diagnostic push
! #pragma GCC diagnostic ignored "-Wc++17-extensions" // if constexpr
! 	  if constexpr (__ptr_cmp<_Tp, _Up>)
! 	    return greater<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	  else
! 	    return std::forward<_Tp>(__t) > std::forward<_Up>(__u);
! #pragma GCC diagnostic pop
  	}
  
        template<typename _Tp, typename _Up>
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 537,556 ****
        typedef __is_transparent is_transparent;
  
      private:
!       template <typename _Tp, typename _Up>
! 	static constexpr decltype(auto)
! 	_S_cmp(_Tp&& __t, _Up&& __u, false_type)
! 	{ return std::forward<_Tp>(__t) > std::forward<_Up>(__u); }
! 
!       template <typename _Tp, typename _Up>
! 	static constexpr bool
! 	_S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
  	{
! 	  return greater<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	}
! 
        // True if there is no viable operator> member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
--- 547,566 ----
        typedef __is_transparent is_transparent;
  
      private:
! #if __cplusplus >= 202002L
!       template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = requires
  	{
! 	  requires
! 	       ! requires
! 		{ operator>(std::declval<_Tp>(), std::declval<_Up>()); }
! 	    && ! requires
! 		{ std::declval<_Tp>().operator>(std::declval<_Up>()); }
! 	    && __detail::__not_overloaded_spaceship<_Tp, _Up>
! 	    && is_convertible_v<_Tp, const volatile void*>
! 	    && is_convertible_v<_Up, const volatile void*>;
! 	};
! #else
        // True if there is no viable operator> member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 572,580 ****
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
! 	      is_convertible<_Tp, const volatile void*>,
! 	      is_convertible<_Up, const volatile void*>>;
      };
  
    /// One of the @link comparison_functors comparison functors@endlink.
--- 582,592 ----
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = __and_<
! 	  __not_overloaded<_Tp, _Up>,
! 	  is_convertible<_Tp, const volatile void*>,
! 	  is_convertible<_Up, const volatile void*>>::value;
! #endif
      };
  
    /// One of the @link comparison_functors comparison functors@endlink.
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 587,594 ****
  	noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u))
  	{
! 	  return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
! 			__ptr_cmp<_Tp, _Up>{});
  	}
  
        template<typename _Tp, typename _Up>
--- 599,613 ----
  	noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u))
  	{
! #pragma GCC diagnostic push
! #pragma GCC diagnostic ignored "-Wc++17-extensions" // if constexpr
! 	  if constexpr (__ptr_cmp<_Tp, _Up>)
! 	    return less<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	  else
! 	    return std::forward<_Tp>(__t) < std::forward<_Up>(__u);
! #pragma GCC diagnostic pop
  	}
  
        template<typename _Tp, typename _Up>
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 599,618 ****
        typedef __is_transparent is_transparent;
  
      private:
!       template <typename _Tp, typename _Up>
! 	static constexpr decltype(auto)
! 	_S_cmp(_Tp&& __t, _Up&& __u, false_type)
! 	{ return std::forward<_Tp>(__t) < std::forward<_Up>(__u); }
! 
!       template <typename _Tp, typename _Up>
! 	static constexpr bool
! 	_S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
  	{
! 	  return less<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	}
! 
        // True if there is no viable operator< member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
--- 618,637 ----
        typedef __is_transparent is_transparent;
  
      private:
! #if __cplusplus >= 202002L
!       template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = requires
  	{
! 	  requires
! 	       ! requires
! 		{ operator<(std::declval<_Tp>(), std::declval<_Up>()); }
! 	    && ! requires
! 		{ std::declval<_Tp>().operator<(std::declval<_Up>()); }
! 	    && __detail::__not_overloaded_spaceship<_Tp, _Up>
! 	    && is_convertible_v<_Tp, const volatile void*>
! 	    && is_convertible_v<_Up, const volatile void*>;
! 	};
! #else
        // True if there is no viable operator< member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 634,642 ****
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
! 	      is_convertible<_Tp, const volatile void*>,
! 	      is_convertible<_Up, const volatile void*>>;
      };
  
    /// One of the @link comparison_functors comparison functors@endlink.
--- 653,663 ----
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = __and_<
! 	  __not_overloaded<_Tp, _Up>,
! 	  is_convertible<_Tp, const volatile void*>,
! 	  is_convertible<_Up, const volatile void*>>::value;
! #endif
      };
  
    /// One of the @link comparison_functors comparison functors@endlink.
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 649,656 ****
  	noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))
  	{
! 	  return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
! 			__ptr_cmp<_Tp, _Up>{});
  	}
  
        template<typename _Tp, typename _Up>
--- 670,684 ----
  	noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))
  	{
! #pragma GCC diagnostic push
! #pragma GCC diagnostic ignored "-Wc++17-extensions" // if constexpr
! 	  if constexpr (__ptr_cmp<_Tp, _Up>)
! 	    return greater_equal<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	  else
! 	    return std::forward<_Tp>(__t) >= std::forward<_Up>(__u);
! #pragma GCC diagnostic pop
  	}
  
        template<typename _Tp, typename _Up>
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 661,680 ****
        typedef __is_transparent is_transparent;
  
      private:
!       template <typename _Tp, typename _Up>
! 	static constexpr decltype(auto)
! 	_S_cmp(_Tp&& __t, _Up&& __u, false_type)
! 	{ return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); }
! 
!       template <typename _Tp, typename _Up>
! 	static constexpr bool
! 	_S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
  	{
! 	  return greater_equal<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	}
! 
        // True if there is no viable operator>= member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
--- 689,708 ----
        typedef __is_transparent is_transparent;
  
      private:
! #if __cplusplus >= 202002L
!       template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = requires
  	{
! 	  requires
! 	       ! requires
! 		{ operator>=(std::declval<_Tp>(), std::declval<_Up>()); }
! 	    && ! requires
! 		{ std::declval<_Tp>().operator>=(std::declval<_Up>()); }
! 	    && __detail::__not_overloaded_spaceship<_Tp, _Up>
! 	    && is_convertible_v<_Tp, const volatile void*>
! 	    && is_convertible_v<_Up, const volatile void*>;
! 	};
! #else
        // True if there is no viable operator>= member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 696,704 ****
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
! 	      is_convertible<_Tp, const volatile void*>,
! 	      is_convertible<_Up, const volatile void*>>;
      };
  
    /// One of the @link comparison_functors comparison functors@endlink.
--- 724,734 ----
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = __and_<
! 	  __not_overloaded<_Tp, _Up>,
! 	  is_convertible<_Tp, const volatile void*>,
! 	  is_convertible<_Up, const volatile void*>>::value;
! #endif
      };
  
    /// One of the @link comparison_functors comparison functors@endlink.
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 711,718 ****
  	noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))
  	{
! 	  return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
! 			__ptr_cmp<_Tp, _Up>{});
  	}
  
        template<typename _Tp, typename _Up>
--- 741,755 ----
  	noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))
  	{
! #pragma GCC diagnostic push
! #pragma GCC diagnostic ignored "-Wc++17-extensions" // if constexpr
! 	  if constexpr (__ptr_cmp<_Tp, _Up>)
! 	    return less_equal<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	  else
! 	    return std::forward<_Tp>(__t) <= std::forward<_Up>(__u);
! #pragma GCC diagnostic pop
  	}
  
        template<typename _Tp, typename _Up>
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 723,742 ****
        typedef __is_transparent is_transparent;
  
      private:
!       template <typename _Tp, typename _Up>
! 	static constexpr decltype(auto)
! 	_S_cmp(_Tp&& __t, _Up&& __u, false_type)
! 	{ return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); }
! 
!       template <typename _Tp, typename _Up>
! 	static constexpr bool
! 	_S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
  	{
! 	  return less_equal<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	}
! 
        // True if there is no viable operator<= member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
--- 760,779 ----
        typedef __is_transparent is_transparent;
  
      private:
! #if __cplusplus >= 202002L
!       template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = requires
  	{
! 	  requires
! 	       ! requires
! 		{ operator<=(std::declval<_Tp>(), std::declval<_Up>()); }
! 	    && ! requires
! 		{ std::declval<_Tp>().operator<=(std::declval<_Up>()); }
! 	    && __detail::__not_overloaded_spaceship<_Tp, _Up>
! 	    && is_convertible_v<_Tp, const volatile void*>
! 	    && is_convertible_v<_Up, const volatile void*>;
! 	};
! #else
        // True if there is no viable operator<= member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 758,766 ****
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
! 	      is_convertible<_Tp, const volatile void*>,
! 	      is_convertible<_Up, const volatile void*>>;
      };
  #else // < C++14
  
--- 795,805 ----
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = __and_<
! 	  __not_overloaded<_Tp, _Up>,
! 	  is_convertible<_Tp, const volatile void*>,
! 	  is_convertible<_Up, const volatile void*>>::value;
! #endif
      };
  #else // < C++14
  
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/bits/version.def gcc-16-20260125/libstdc++-v3/include/bits/version.def
*** gcc-16-20260118/libstdc++-v3/include/bits/version.def	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/bits/version.def	Sun Jan 25 22:32:19 2026
*************** ftms = {
*** 2259,2264 ****
--- 2259,2265 ----
      v = 202506;
      cxxmin = 26;
      extra_cond = "__cpp_impl_reflection >= 202506L";
+     cxx11abi = yes;
    };
  };
  
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/bits/version.h gcc-16-20260125/libstdc++-v3/include/bits/version.h
*** gcc-16-20260118/libstdc++-v3/include/bits/version.h	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/bits/version.h	Sun Jan 25 22:32:19 2026
***************
*** 2526,2531 ****
--- 2526,2541 ----
  #endif /* !defined(__cpp_lib_philox_engine) */
  #undef __glibcxx_want_philox_engine
  
+ #if !defined(__cpp_lib_reflection)
+ # if (__cplusplus >  202302L) && _GLIBCXX_USE_CXX11_ABI && (__cpp_impl_reflection >= 202506L)
+ #  define __glibcxx_reflection 202506L
+ #  if defined(__glibcxx_want_all) || defined(__glibcxx_want_reflection)
+ #   define __cpp_lib_reflection 202506L
+ #  endif
+ # endif
+ #endif /* !defined(__cpp_lib_reflection) */
+ #undef __glibcxx_want_reflection
+ 
  #if !defined(__cpp_lib_is_implicit_lifetime)
  # if (__cplusplus >= 202100L) && (__has_builtin(__builtin_is_implicit_lifetime))
  #  define __glibcxx_is_implicit_lifetime 202302L
***************
*** 2536,2549 ****
  #endif /* !defined(__cpp_lib_is_implicit_lifetime) */
  #undef __glibcxx_want_is_implicit_lifetime
  
- #if !defined(__cpp_lib_reflection)
- # if (__cplusplus >  202302L) && (__cpp_impl_reflection >= 202506L)
- #  define __glibcxx_reflection 202506L
- #  if defined(__glibcxx_want_all) || defined(__glibcxx_want_reflection)
- #   define __cpp_lib_reflection 202506L
- #  endif
- # endif
- #endif /* !defined(__cpp_lib_reflection) */
- #undef __glibcxx_want_reflection
- 
  #undef __glibcxx_want_all
--- 2546,2549 ----
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/debug/deque gcc-16-20260125/libstdc++-v3/include/debug/deque
*** gcc-16-20260118/libstdc++-v3/include/debug/deque	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/debug/deque	Sun Jan 25 22:32:19 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 778,796 ****
      inline typename __debug::deque<_Tp, _Alloc>::size_type
      erase_if(__debug::deque<_Tp, _Alloc>& __cont, _Predicate __pred)
      {
!       _GLIBCXX_STD_C::deque<_Tp, _Alloc>& __unsafe_cont = __cont;
!       const auto __osz = __cont.size();
!       const auto __end = __unsafe_cont.end();
!       auto __removed = std::__remove_if(__unsafe_cont.begin(), __end,
! 					std::move(__pred));
!       if (__removed != __end)
! 	{
! 	  __cont.erase(__niter_wrap(__cont.begin(), __removed),
! 		       __cont.end());
! 	  return __osz - __cont.size();
! 	}
! 
!       return 0;
      }
  
    template<typename _Tp, typename _Alloc, typename _Up = _Tp>
--- 778,784 ----
      inline typename __debug::deque<_Tp, _Alloc>::size_type
      erase_if(__debug::deque<_Tp, _Alloc>& __cont, _Predicate __pred)
      {
!       return __detail::__erase_if(__cont, __cont._M_base(), std::move(__pred));
      }
  
    template<typename _Tp, typename _Alloc, typename _Up = _Tp>
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 798,804 ****
      erase(__debug::deque<_Tp, _Alloc>& __cont, const _Up& __value)
      { return std::erase_if(__cont, __gnu_cxx::__ops::__equal_to(__value)); }
  _GLIBCXX_END_NAMESPACE_VERSION
! #endif // __cpp_lib_erase_if
  } // namespace std
  
  #endif
--- 786,792 ----
      erase(__debug::deque<_Tp, _Alloc>& __cont, const _Up& __value)
      { return std::erase_if(__cont, __gnu_cxx::__ops::__equal_to(__value)); }
  _GLIBCXX_END_NAMESPACE_VERSION
! #endif // __glibcxx_erase_if
  } // namespace std
  
  #endif
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/debug/forward_list gcc-16-20260125/libstdc++-v3/include/debug/forward_list
*** gcc-16-20260118/libstdc++-v3/include/debug/forward_list	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/debug/forward_list	Sun Jan 25 22:32:19 2026
*************** namespace __debug
*** 981,986 ****
--- 981,1007 ----
      { __lx.swap(__ly); }
  
  } // namespace __debug
+ 
+ #ifdef __glibcxx_erase_if // C++ >= 20 && HOSTED
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+   template<typename _Tp, typename _Alloc, typename _Predicate>
+     inline typename __debug::forward_list<_Tp, _Alloc>::size_type
+     erase_if(__debug::forward_list<_Tp, _Alloc>& __cont, _Predicate __pred)
+     { return __cont.remove_if(__pred); }
+ 
+   template<typename _Tp, typename _Alloc,
+ 	   typename _Up _GLIBCXX26_DEF_VAL_T(_Tp)>
+     inline typename __debug::forward_list<_Tp, _Alloc>::size_type
+     erase(__debug::forward_list<_Tp, _Alloc>& __cont, const _Up& __value)
+     {
+       // _GLIBCXX_RESOLVE_LIB_DEFECTS
+       // 4135. helper lambda of std::erase for list should specify return type
+       return std::erase_if(__cont, [&](const auto& __elem) -> bool {
+ 	  return __elem == __value;
+       });
+     }
+ _GLIBCXX_END_NAMESPACE_VERSION
+ #endif // __glibcxx_erase_if
  } // namespace std
  
  namespace __gnu_debug
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/debug/inplace_vector gcc-16-20260125/libstdc++-v3/include/debug/inplace_vector
*** gcc-16-20260118/libstdc++-v3/include/debug/inplace_vector	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/debug/inplace_vector	Sun Jan 25 22:32:19 2026
*************** namespace __debug
*** 566,578 ****
        noexcept( noexcept(__x.swap(__y)) )
        { __x.swap(__y); }
  
-     private:
        constexpr _Base&
        _M_base() noexcept { return *this; }
  
        constexpr const _Base&
        _M_base() const noexcept { return *this; }
  
        constexpr void
        _M_invalidate_after_nth(difference_type __n) noexcept
        {
--- 566,578 ----
        noexcept( noexcept(__x.swap(__y)) )
        { __x.swap(__y); }
  
        constexpr _Base&
        _M_base() noexcept { return *this; }
  
        constexpr const _Base&
        _M_base() const noexcept { return *this; }
  
+     private:
        constexpr void
        _M_invalidate_after_nth(difference_type __n) noexcept
        {
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 663,679 ****
      {
        if constexpr (_Nm != 0)
  	{
! 	  _GLIBCXX_STD_C::inplace_vector<_Tp, _Nm>& __ucont = __cont;
! 	  const auto __osz = __cont.size();
! 	  const auto __end = __ucont.end();
! 	  auto __removed = std::__remove_if(__ucont.begin(), __end,
! 					    std::move(__pred));
! 	  if (__removed != __end)
! 	    {
! 	      __cont.erase(__niter_wrap(__cont.cbegin(), __removed),
! 			   __cont.cend());
! 	      return __osz - __cont.size();
! 	    }
  	}
  
        return 0;
--- 663,670 ----
      {
        if constexpr (_Nm != 0)
  	{
! 	  return __detail::__erase_if(__cont, __cont._M_base(),
! 				      std::move(__pred));
  	}
  
        return 0;
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/debug/list gcc-16-20260125/libstdc++-v3/include/debug/list
*** gcc-16-20260118/libstdc++-v3/include/debug/list	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/debug/list	Sun Jan 25 22:32:19 2026
*************** namespace __debug
*** 1031,1036 ****
--- 1031,1057 ----
      { __lhs.swap(__rhs); }
  
  } // namespace __debug
+ 
+ #ifdef __glibcxx_erase_if // C++ >= 20 && HOSTED
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+   template<typename _Tp, typename _Alloc, typename _Predicate>
+     inline typename __debug::list<_Tp, _Alloc>::size_type
+     erase_if(__debug::list<_Tp, _Alloc>& __cont, _Predicate __pred)
+     { return __cont.remove_if(__pred); }
+ 
+   template<typename _Tp, typename _Alloc,
+ 	   typename _Up _GLIBCXX26_DEF_VAL_T(_Tp)>
+     inline typename __debug::list<_Tp, _Alloc>::size_type
+     erase(__debug::list<_Tp, _Alloc>& __cont, const _Up& __value)
+     {
+       // _GLIBCXX_RESOLVE_LIB_DEFECTS
+       // 4135. helper lambda of std::erase for list should specify return type
+       return std::erase_if(__cont, [&](const auto& __elem) -> bool {
+ 	  return __elem == __value;
+       });
+     }
+ _GLIBCXX_END_NAMESPACE_VERSION
+ #endif // __glibcxx_erase_if
  } // namespace std
  
  namespace __gnu_debug
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/debug/map gcc-16-20260125/libstdc++-v3/include/debug/map
*** gcc-16-20260118/libstdc++-v3/include/debug/map	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/debug/map	Sun Jan 25 22:32:19 2026
*************** namespace std _GLIBCXX_VISIBILITY(defaul
*** 45,48 ****
--- 45,69 ----
  #include <debug/map.h>
  #include <debug/multimap.h>
  
+ #ifdef __glibcxx_erase_if // C++ >= 20 && HOSTED
+ namespace std _GLIBCXX_VISIBILITY(default)
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc,
+ 	   typename _Predicate>
+     inline typename __debug::map<_Key, _Tp, _Compare, _Alloc>::size_type
+     erase_if(__debug::map<_Key, _Tp, _Compare, _Alloc>& __cont,
+ 	     _Predicate __pred)
+     { return __detail::__erase_nodes_if(__cont, __cont._M_base(), __pred); }
+ 
+   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc,
+ 	   typename _Predicate>
+     inline typename __debug::multimap<_Key, _Tp, _Compare, _Alloc>::size_type
+     erase_if(__debug::multimap<_Key, _Tp, _Compare, _Alloc>& __cont,
+ 	     _Predicate __pred)
+     { return __detail::__erase_nodes_if(__cont, __cont._M_base(), __pred); }
+ _GLIBCXX_END_NAMESPACE_VERSION
+ } // namespace std
+ #endif // __glibcxx_erase_if
+ 
  #endif
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/debug/set gcc-16-20260125/libstdc++-v3/include/debug/set
*** gcc-16-20260118/libstdc++-v3/include/debug/set	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/debug/set	Sun Jan 25 22:32:19 2026
*************** namespace std _GLIBCXX_VISIBILITY(defaul
*** 43,46 ****
--- 43,65 ----
  #include <debug/set.h>
  #include <debug/multiset.h>
  
+ #ifdef __glibcxx_erase_if // C++ >= 20 && HOSTED
+ namespace std _GLIBCXX_VISIBILITY(default)
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+   template<typename _Key, typename _Compare, typename _Alloc,
+ 	   typename _Predicate>
+     inline typename __debug::set<_Key, _Compare, _Alloc>::size_type
+     erase_if(__debug::set<_Key, _Compare, _Alloc>& __cont, _Predicate __pred)
+     { return __detail::__erase_nodes_if(__cont, __cont._M_base(), __pred); }
+ 
+   template<typename _Key, typename _Compare, typename _Alloc,
+ 	   typename _Predicate>
+     inline typename __debug::multiset<_Key, _Compare, _Alloc>::size_type
+     erase_if(__debug::multiset<_Key, _Compare, _Alloc>& __cont, _Predicate __pred)
+     { return __detail::__erase_nodes_if(__cont, __cont._M_base(), __pred); }
+ _GLIBCXX_END_NAMESPACE_VERSION
+ } // namespace std
+ #endif // __glibcxx_erase_if
+ 
  #endif
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/debug/string gcc-16-20260125/libstdc++-v3/include/debug/string
*** gcc-16-20260118/libstdc++-v3/include/debug/string	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/debug/string	Sun Jan 25 22:32:19 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 1331,1336 ****
--- 1331,1356 ----
      : __is_fast_hash<hash<std::basic_string<_CharT>>>
      { };
  
+ #ifdef __glibcxx_erase_if // C++ >= 20 && HOSTED
+   template<typename _CharT, typename _Traits, typename _Alloc,
+ 	   typename _Predicate>
+     constexpr typename __gnu_debug::basic_string<_CharT,
+ 						 _Traits, _Alloc>::size_type
+     erase_if(__gnu_debug::basic_string<_CharT, _Traits, _Alloc>& __cont,
+ 	     _Predicate __pred)
+     {
+       return __detail::__erase_if(__cont, __cont._M_base(), std::move(__pred));
+     }
+ 
+   template<typename _CharT, typename _Traits, typename _Alloc,
+ 	   typename _Up _GLIBCXX26_DEF_VAL_T(_CharT)>
+     constexpr typename __gnu_debug::basic_string<_CharT,
+ 						 _Traits, _Alloc>::size_type
+     erase(__gnu_debug::basic_string<_CharT, _Traits, _Alloc>& __cont,
+ 	  const _Up& __value)
+     { return std::erase_if(__cont, __gnu_cxx::__ops::__equal_to(__value)); }
+ #endif // __glibcxx_erase_if
+ 
  _GLIBCXX_END_NAMESPACE_VERSION
  }
  #endif /* C++11 */
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/debug/unordered_map gcc-16-20260125/libstdc++-v3/include/debug/unordered_map
*** gcc-16-20260118/libstdc++-v3/include/debug/unordered_map	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/debug/unordered_map	Sun Jan 25 22:32:19 2026
*************** namespace __debug
*** 1748,1753 ****
--- 1748,1773 ----
  #endif
  
  } // namespace __debug
+ 
+ #ifdef __glibcxx_erase_if // C++ >= 20 && HOSTED
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+   template<typename _Key, typename _Tp, typename _Hash, typename _CPred,
+ 	   typename _Alloc, typename _Predicate>
+     inline typename __debug::unordered_map<_Key, _Tp, _Hash,
+ 					   _CPred, _Alloc>::size_type
+     erase_if(__debug::unordered_map<_Key, _Tp, _Hash, _CPred, _Alloc>& __cont,
+ 	     _Predicate __pred)
+     { return __detail::__erase_nodes_if(__cont, __cont._M_base(), __pred); }
+ 
+   template<typename _Key, typename _Tp, typename _Hash, typename _CPred,
+ 	   typename _Alloc, typename _Predicate>
+     inline typename __debug::unordered_multimap<_Key, _Tp, _Hash,
+ 						_CPred, _Alloc>::size_type
+     erase_if(__debug::unordered_multimap<_Key, _Tp, _Hash, _CPred, _Alloc>& __cont,
+ 	     _Predicate __pred)
+     { return __detail::__erase_nodes_if(__cont, __cont._M_base(), __pred); }
+ _GLIBCXX_END_NAMESPACE_VERSION
+ #endif // __glibcxx_erase_if
  } // namespace std
  
  #endif // C++11
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/debug/unordered_set gcc-16-20260125/libstdc++-v3/include/debug/unordered_set
*** gcc-16-20260118/libstdc++-v3/include/debug/unordered_set	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/debug/unordered_set	Sun Jan 25 22:32:19 2026
*************** namespace __debug
*** 1597,1602 ****
--- 1597,1622 ----
  #endif
  
  } // namespace __debug
+ 
+ #ifdef __glibcxx_erase_if // C++ >= 20 && HOSTED
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+   template<typename _Key, typename _Hash, typename _CPred, typename _Alloc,
+ 	   typename _Predicate>
+     inline typename __debug::unordered_set<_Key, _Hash,
+ 					   _CPred, _Alloc>::size_type
+     erase_if(__debug::unordered_set<_Key, _Hash, _CPred, _Alloc>& __cont,
+ 	     _Predicate __pred)
+     { return __detail::__erase_nodes_if(__cont, __cont._M_base(), __pred); }
+ 
+   template<typename _Key, typename _Hash, typename _CPred, typename _Alloc,
+ 	   typename _Predicate>
+     inline typename __debug::unordered_multiset<_Key, _Hash,
+ 						_CPred, _Alloc>::size_type
+     erase_if(__debug::unordered_multiset<_Key, _Hash, _CPred, _Alloc>& __cont,
+ 	     _Predicate __pred)
+     { return __detail::__erase_nodes_if(__cont, __cont._M_base(), __pred); }
+ _GLIBCXX_END_NAMESPACE_VERSION
+ #endif // __glibcxx_erase_if
  } // namespace std
  
  #endif // C++11
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/debug/vector gcc-16-20260125/libstdc++-v3/include/debug/vector
*** gcc-16-20260118/libstdc++-v3/include/debug/vector	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/debug/vector	Sun Jan 25 22:32:19 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 1043,1061 ****
      constexpr typename __debug::vector<_Tp, _Alloc>::size_type
      erase_if(__debug::vector<_Tp, _Alloc>& __cont, _Predicate __pred)
      {
!       _GLIBCXX_STD_C::vector<_Tp, _Alloc>& __unsafe_cont = __cont;
!       const auto __osz = __cont.size();
!       const auto __end = __unsafe_cont.end();
!       auto __removed = std::__remove_if(__unsafe_cont.begin(), __end,
! 					std::move(__pred));
!       if (__removed != __end)
! 	{
! 	  __cont.erase(__niter_wrap(__cont.begin(), __removed),
! 		       __cont.end());
! 	  return __osz - __cont.size();
! 	}
! 
!       return 0;
      }
  
    template<typename _Tp, typename _Alloc, typename _Up = _Tp>
--- 1043,1049 ----
      constexpr typename __debug::vector<_Tp, _Alloc>::size_type
      erase_if(__debug::vector<_Tp, _Alloc>& __cont, _Predicate __pred)
      {
!       return __detail::__erase_if(__cont, __cont._M_base(), std::move(__pred));
      }
  
    template<typename _Tp, typename _Alloc, typename _Up = _Tp>
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/std/concepts gcc-16-20260125/libstdc++-v3/include/std/concepts
*** gcc-16-20260118/libstdc++-v3/include/std/concepts	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/std/concepts	Sun Jan 25 22:32:19 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 405,410 ****
--- 405,426 ----
    template<typename _Rel, typename _Tp, typename _Up>
      concept strict_weak_order = relation<_Rel, _Tp, _Up>;
  
+   namespace __detail
+   {
+     // operator<=> are automatically reversed, so we need to consider
+     // both directions if types are different.
+     template<typename _Tp, typename _Up>
+       concept __not_overloaded_spaceship
+         =  ! requires(_Tp&& __t, _Up&& __u)
+ 	    { operator<=>(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); }
+ 	&& ! requires(_Tp&& __t, _Up&& __u)
+ 	    { static_cast<_Tp&&>(__t).operator<=>(static_cast<_Up&&>(__u)); }
+ 	&& (is_same_v<_Tp, _Up>
+ 	    || (! requires(_Tp&& __t, _Up&& __u)
+ 	         { operator<=>(static_cast<_Up&&>(__u), static_cast<_Tp&&>(__t)); }
+ 	       && ! requires(_Tp&& __t, _Up&& __u)
+ 	         { static_cast<_Up&&>(__u).operator<=>(static_cast<_Tp&&>(__t)); }));
+   }
  _GLIBCXX_END_NAMESPACE_VERSION
  } // namespace
  #endif // __cpp_lib_concepts
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/std/deque gcc-16-20260125/libstdc++-v3/include/std/deque
*** gcc-16-20260118/libstdc++-v3/include/std/deque	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/std/deque	Sun Jan 25 22:32:19 2026
***************
*** 68,73 ****
--- 68,74 ----
  #include <bits/stl_uninitialized.h>
  #include <bits/stl_deque.h>
  #include <bits/range_access.h>
+ #include <bits/erase_if.h>
  #include <bits/deque.tcc>
  
  #define __glibcxx_want_algorithm_default_value_type
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 103,121 ****
    template<typename _Tp, typename _Alloc, typename _Predicate>
      inline typename _GLIBCXX_STD_C::deque<_Tp, _Alloc>::size_type
      erase_if(_GLIBCXX_STD_C::deque<_Tp, _Alloc>& __cont, _Predicate __pred)
!     {
!       const auto __osz = __cont.size();
!       const auto __end = __cont.end();
!       auto __removed = std::__remove_if(__cont.begin(), __end,
! 					std::move(__pred));
!       if (__removed != __end)
! 	{
! 	  __cont.erase(__removed, __end);
! 	  return __osz - __cont.size();
! 	}
! 
!       return 0;
!     }
  
    template<typename _Tp, typename _Alloc,
  	   typename _Up _GLIBCXX26_DEF_VAL_T(_Tp)>
--- 104,110 ----
    template<typename _Tp, typename _Alloc, typename _Predicate>
      inline typename _GLIBCXX_STD_C::deque<_Tp, _Alloc>::size_type
      erase_if(_GLIBCXX_STD_C::deque<_Tp, _Alloc>& __cont, _Predicate __pred)
!     { return __detail::__erase_if(__cont, __cont, std::move(__pred)); }
  
    template<typename _Tp, typename _Alloc,
  	   typename _Up _GLIBCXX26_DEF_VAL_T(_Tp)>
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/std/forward_list gcc-16-20260125/libstdc++-v3/include/std/forward_list
*** gcc-16-20260118/libstdc++-v3/include/std/forward_list	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/std/forward_list	Sun Jan 25 22:32:19 2026
*************** namespace std _GLIBCXX_VISIBILITY(defaul
*** 75,88 ****
  {
  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    template<typename _Tp, typename _Alloc, typename _Predicate>
!     inline typename forward_list<_Tp, _Alloc>::size_type
!     erase_if(forward_list<_Tp, _Alloc>& __cont, _Predicate __pred)
      { return __cont.remove_if(__pred); }
  
    template<typename _Tp, typename _Alloc,
  	   typename _Up _GLIBCXX26_DEF_VAL_T(_Tp)>
!     inline typename forward_list<_Tp, _Alloc>::size_type
!     erase(forward_list<_Tp, _Alloc>& __cont, const _Up& __value)
      {
        // _GLIBCXX_RESOLVE_LIB_DEFECTS
        // 4135. helper lambda of std::erase for list should specify return type
--- 75,88 ----
  {
  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    template<typename _Tp, typename _Alloc, typename _Predicate>
!     inline typename _GLIBCXX_STD_C::forward_list<_Tp, _Alloc>::size_type
!     erase_if(_GLIBCXX_STD_C::forward_list<_Tp, _Alloc>& __cont, _Predicate __pred)
      { return __cont.remove_if(__pred); }
  
    template<typename _Tp, typename _Alloc,
  	   typename _Up _GLIBCXX26_DEF_VAL_T(_Tp)>
!     inline typename _GLIBCXX_STD_C::forward_list<_Tp, _Alloc>::size_type
!     erase(_GLIBCXX_STD_C::forward_list<_Tp, _Alloc>& __cont, const _Up& __value)
      {
        // _GLIBCXX_RESOLVE_LIB_DEFECTS
        // 4135. helper lambda of std::erase for list should specify return type
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/std/inplace_vector gcc-16-20260125/libstdc++-v3/include/std/inplace_vector
*** gcc-16-20260118/libstdc++-v3/include/std/inplace_vector	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/std/inplace_vector	Sun Jan 25 22:32:19 2026
***************
*** 46,51 ****
--- 46,52 ----
  #include <bits/stl_construct.h>
  #include <bits/stl_uninitialized.h>
  #include <bits/stl_algo.h> // rotate
+ #include <bits/erase_if.h>
  
  namespace std _GLIBCXX_VISIBILITY(default)
  {
*************** _GLIBCXX_END_NAMESPACE_CONTAINER
*** 1339,1355 ****
  	     _Predicate __pred)
      {
        if constexpr (_Nm != 0)
! 	{
! 	  const auto __osz = __cont.size();
! 	  const auto __end = __cont.end();
! 	  auto __removed = std::__remove_if(__cont.begin(), __end,
! 					    std::move(__pred));
! 	  if (__removed != __end)
! 	    {
! 	      __cont.erase(__removed, __end);
! 	      return __osz - __cont.size();
! 	    }
! 	}
  
        return 0;
      }
--- 1340,1346 ----
  	     _Predicate __pred)
      {
        if constexpr (_Nm != 0)
! 	return __detail::__erase_if(__cont, __cont, std::move(__pred));
  
        return 0;
      }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/std/list gcc-16-20260125/libstdc++-v3/include/std/list
*** gcc-16-20260118/libstdc++-v3/include/std/list	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/std/list	Sun Jan 25 22:32:19 2026
*************** namespace std _GLIBCXX_VISIBILITY(defaul
*** 99,112 ****
  {
  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    template<typename _Tp, typename _Alloc, typename _Predicate>
!     inline typename list<_Tp, _Alloc>::size_type
!     erase_if(list<_Tp, _Alloc>& __cont, _Predicate __pred)
      { return __cont.remove_if(__pred); }
  
    template<typename _Tp, typename _Alloc,
  	   typename _Up _GLIBCXX26_DEF_VAL_T(_Tp)>
!     inline typename list<_Tp, _Alloc>::size_type
!     erase(list<_Tp, _Alloc>& __cont, const _Up& __value)
      {
        // _GLIBCXX_RESOLVE_LIB_DEFECTS
        // 4135. helper lambda of std::erase for list should specify return type
--- 99,112 ----
  {
  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    template<typename _Tp, typename _Alloc, typename _Predicate>
!     inline typename _GLIBCXX_STD_C::list<_Tp, _Alloc>::size_type
!     erase_if(_GLIBCXX_STD_C::list<_Tp, _Alloc>& __cont, _Predicate __pred)
      { return __cont.remove_if(__pred); }
  
    template<typename _Tp, typename _Alloc,
  	   typename _Up _GLIBCXX26_DEF_VAL_T(_Tp)>
!     inline typename _GLIBCXX_STD_C::list<_Tp, _Alloc>::size_type
!     erase(_GLIBCXX_STD_C::list<_Tp, _Alloc>& __cont, const _Up& __value)
      {
        // _GLIBCXX_RESOLVE_LIB_DEFECTS
        // 4135. helper lambda of std::erase for list should specify return type
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/std/map gcc-16-20260125/libstdc++-v3/include/std/map
*** gcc-16-20260118/libstdc++-v3/include/std/map	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/std/map	Sun Jan 25 22:32:19 2026
*************** _GLIBCXX_END_NAMESPACE_VERSION
*** 101,129 ****
  } // namespace std
  #endif // C++17
  
! #if __cplusplus > 201703L
  namespace std _GLIBCXX_VISIBILITY(default)
  {
  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    template<typename _Key, typename _Tp, typename _Compare, typename _Alloc,
  	   typename _Predicate>
!     inline typename map<_Key, _Tp, _Compare, _Alloc>::size_type
!     erase_if(map<_Key, _Tp, _Compare, _Alloc>& __cont, _Predicate __pred)
!     {
!       _GLIBCXX_STD_C::map<_Key, _Tp, _Compare, _Alloc>& __ucont = __cont;
!       return __detail::__erase_nodes_if(__cont, __ucont, __pred);
!     }
  
    template<typename _Key, typename _Tp, typename _Compare, typename _Alloc,
  	   typename _Predicate>
!     inline typename multimap<_Key, _Tp, _Compare, _Alloc>::size_type
!     erase_if(multimap<_Key, _Tp, _Compare, _Alloc>& __cont, _Predicate __pred)
!     {
!       _GLIBCXX_STD_C::multimap<_Key, _Tp, _Compare, _Alloc>& __ucont = __cont;
!       return __detail::__erase_nodes_if(__cont, __ucont, __pred);
!     }
  _GLIBCXX_END_NAMESPACE_VERSION
  } // namespace std
! #endif // C++20
  
  #endif /* _GLIBCXX_MAP */
--- 101,126 ----
  } // namespace std
  #endif // C++17
  
! #ifdef __cpp_lib_erase_if // C++ >= 20 && HOSTED
  namespace std _GLIBCXX_VISIBILITY(default)
  {
  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    template<typename _Key, typename _Tp, typename _Compare, typename _Alloc,
  	   typename _Predicate>
!     inline typename _GLIBCXX_STD_C::map<_Key, _Tp, _Compare, _Alloc>::size_type
!     erase_if(_GLIBCXX_STD_C::map<_Key, _Tp, _Compare, _Alloc>& __cont,
! 	     _Predicate __pred)
!     { return __detail::__erase_nodes_if(__cont, __cont, __pred); }
  
    template<typename _Key, typename _Tp, typename _Compare, typename _Alloc,
  	   typename _Predicate>
!     inline typename _GLIBCXX_STD_C::multimap<_Key, _Tp,
! 					     _Compare, _Alloc>::size_type
!     erase_if(_GLIBCXX_STD_C::multimap<_Key, _Tp, _Compare, _Alloc>& __cont,
! 	     _Predicate __pred)
!     { return __detail::__erase_nodes_if(__cont, __cont, __pred); }
  _GLIBCXX_END_NAMESPACE_VERSION
  } // namespace std
! #endif // __cpp_lib_erase_if
  
  #endif /* _GLIBCXX_MAP */
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/std/set gcc-16-20260125/libstdc++-v3/include/std/set
*** gcc-16-20260118/libstdc++-v3/include/std/set	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/std/set	Sun Jan 25 22:32:19 2026
*************** _GLIBCXX_END_NAMESPACE_VERSION
*** 95,123 ****
  } // namespace std
  #endif // C++17
  
! #if __cplusplus > 201703L
  namespace std _GLIBCXX_VISIBILITY(default)
  {
  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    template<typename _Key, typename _Compare, typename _Alloc,
  	   typename _Predicate>
!     inline typename set<_Key, _Compare, _Alloc>::size_type
!     erase_if(set<_Key, _Compare, _Alloc>& __cont, _Predicate __pred)
!     {
!       _GLIBCXX_STD_C::set<_Key, _Compare, _Alloc>& __ucont = __cont;
!       return __detail::__erase_nodes_if(__cont, __ucont, __pred);
!     }
  
    template<typename _Key, typename _Compare, typename _Alloc,
  	   typename _Predicate>
!     inline typename multiset<_Key, _Compare, _Alloc>::size_type
!     erase_if(multiset<_Key, _Compare, _Alloc>& __cont, _Predicate __pred)
!     {
!       _GLIBCXX_STD_C::multiset<_Key, _Compare, _Alloc>& __ucont = __cont;
!       return __detail::__erase_nodes_if(__cont, __ucont, __pred);
!     }
  _GLIBCXX_END_NAMESPACE_VERSION
  } // namespace std
! #endif // C++20
  
  #endif /* _GLIBCXX_SET */
--- 95,119 ----
  } // namespace std
  #endif // C++17
  
! #ifdef __cpp_lib_erase_if // C++ >= 20 && HOSTED
  namespace std _GLIBCXX_VISIBILITY(default)
  {
  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    template<typename _Key, typename _Compare, typename _Alloc,
  	   typename _Predicate>
!     inline typename _GLIBCXX_STD_C::set<_Key, _Compare, _Alloc>::size_type
!     erase_if(_GLIBCXX_STD_C::set<_Key, _Compare, _Alloc>& __cont,
! 	     _Predicate __pred)
!     { return __detail::__erase_nodes_if(__cont, __cont, __pred); }
  
    template<typename _Key, typename _Compare, typename _Alloc,
  	   typename _Predicate>
!     inline typename _GLIBCXX_STD_C::multiset<_Key, _Compare, _Alloc>::size_type
!     erase_if(_GLIBCXX_STD_C::multiset<_Key, _Compare, _Alloc>& __cont,
! 	     _Predicate __pred)
!     { return __detail::__erase_nodes_if(__cont, __cont, __pred); }
  _GLIBCXX_END_NAMESPACE_VERSION
  } // namespace std
! #endif // __cpp_lib_erase_if
  
  #endif /* _GLIBCXX_SET */
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/std/string gcc-16-20260125/libstdc++-v3/include/std/string
*** gcc-16-20260118/libstdc++-v3/include/std/string	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/std/string	Sun Jan 25 22:32:19 2026
***************
*** 54,59 ****
--- 54,60 ----
  #include <bits/stdexcept_throw.h>
  #include <bits/stl_algobase.h>
  #include <bits/range_access.h>
+ #include <bits/erase_if.h>
  #include <bits/basic_string.h>
  #include <bits/basic_string.tcc>
  #if (_GLIBCXX_HOSTED && __cpp_exceptions && __cplusplus > 202302L \
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 108,122 ****
  	   typename _Predicate>
      constexpr typename basic_string<_CharT, _Traits, _Alloc>::size_type
      erase_if(basic_string<_CharT, _Traits, _Alloc>& __cont, _Predicate __pred)
!     {
!       using namespace __gnu_cxx;
!       const auto __osz = __cont.size();
!       const auto __end = __cont.end();
!       auto __removed = std::__remove_if(__cont.begin(), __end,
! 					std::move(__pred));
!       __cont.erase(__removed, __end);
!       return __osz - __cont.size();
!     }
  
    template<typename _CharT, typename _Traits, typename _Alloc,
  	   typename _Up _GLIBCXX26_DEF_VAL_T(_CharT)>
--- 109,115 ----
  	   typename _Predicate>
      constexpr typename basic_string<_CharT, _Traits, _Alloc>::size_type
      erase_if(basic_string<_CharT, _Traits, _Alloc>& __cont, _Predicate __pred)
!     { return __detail::__erase_if(__cont, __cont, std::move(__pred)); }
  
    template<typename _CharT, typename _Traits, typename _Alloc,
  	   typename _Up _GLIBCXX26_DEF_VAL_T(_CharT)>
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/std/unordered_map gcc-16-20260125/libstdc++-v3/include/std/unordered_map
*** gcc-16-20260118/libstdc++-v3/include/std/unordered_map	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/std/unordered_map	Sun Jan 25 22:32:19 2026
*************** _GLIBCXX_END_NAMESPACE_VERSION
*** 80,114 ****
  } // namespace std
  #endif // C++17
  
! #if __cplusplus > 201703L
  namespace std _GLIBCXX_VISIBILITY(default)
  {
  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    template<typename _Key, typename _Tp, typename _Hash, typename _CPred,
  	   typename _Alloc, typename _Predicate>
!     inline typename unordered_map<_Key, _Tp, _Hash, _CPred, _Alloc>::size_type
!     erase_if(unordered_map<_Key, _Tp, _Hash, _CPred, _Alloc>& __cont,
  	     _Predicate __pred)
!     {
!       _GLIBCXX_STD_C::unordered_map<_Key, _Tp, _Hash, _CPred, _Alloc>&
! 	__ucont = __cont;
!       return __detail::__erase_nodes_if(__cont, __ucont, __pred);
!     }
  
    template<typename _Key, typename _Tp, typename _Hash, typename _CPred,
  	   typename _Alloc, typename _Predicate>
!     inline typename unordered_multimap<_Key, _Tp, _Hash, _CPred, _Alloc>::
! 		    size_type
!     erase_if(unordered_multimap<_Key, _Tp, _Hash, _CPred, _Alloc>& __cont,
  	     _Predicate __pred)
!     {
!       _GLIBCXX_STD_C::unordered_multimap<_Key, _Tp, _Hash, _CPred, _Alloc>&
! 	__ucont = __cont;
!       return __detail::__erase_nodes_if(__cont, __ucont, __pred);
!     }
  _GLIBCXX_END_NAMESPACE_VERSION
  } // namespace std
! #endif // C++20
  
  #endif // C++11
  
--- 80,109 ----
  } // namespace std
  #endif // C++17
  
! #ifdef __cpp_lib_erase_if // C++ >= 20 && HOSTED
  namespace std _GLIBCXX_VISIBILITY(default)
  {
  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    template<typename _Key, typename _Tp, typename _Hash, typename _CPred,
  	   typename _Alloc, typename _Predicate>
!     inline typename _GLIBCXX_STD_C::unordered_map<_Key, _Tp, _Hash,
! 						  _CPred, _Alloc>::size_type
!     erase_if(_GLIBCXX_STD_C::unordered_map<_Key, _Tp, _Hash,
! 					   _CPred, _Alloc>& __cont,
  	     _Predicate __pred)
!     { return __detail::__erase_nodes_if(__cont, __cont, __pred); }
  
    template<typename _Key, typename _Tp, typename _Hash, typename _CPred,
  	   typename _Alloc, typename _Predicate>
!     inline typename _GLIBCXX_STD_C::unordered_multimap<_Key, _Tp, _Hash,
! 						      _CPred, _Alloc>::size_type
!     erase_if(_GLIBCXX_STD_C::unordered_multimap<_Key, _Tp, _Hash,
! 						_CPred, _Alloc>& __cont,
  	     _Predicate __pred)
!     { return __detail::__erase_nodes_if(__cont, __cont, __pred); }
  _GLIBCXX_END_NAMESPACE_VERSION
  } // namespace std
! #endif // __cpp_lib_erase_if
  
  #endif // C++11
  
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/std/unordered_set gcc-16-20260125/libstdc++-v3/include/std/unordered_set
*** gcc-16-20260118/libstdc++-v3/include/std/unordered_set	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/std/unordered_set	Sun Jan 25 22:32:19 2026
*************** _GLIBCXX_END_NAMESPACE_VERSION
*** 78,111 ****
  } // namespace std
  #endif // C++17
  
! #if __cplusplus > 201703L
  namespace std _GLIBCXX_VISIBILITY(default)
  {
  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    template<typename _Key, typename _Hash, typename _CPred, typename _Alloc,
  	   typename _Predicate>
!     inline typename unordered_set<_Key, _Hash, _CPred, _Alloc>::size_type
!     erase_if(unordered_set<_Key, _Hash, _CPred, _Alloc>& __cont,
  	     _Predicate __pred)
!     {
!       _GLIBCXX_STD_C::unordered_set<_Key, _Hash, _CPred, _Alloc>&
! 	__ucont = __cont;
!       return __detail::__erase_nodes_if(__cont, __ucont, __pred);
!     }
  
    template<typename _Key, typename _Hash, typename _CPred, typename _Alloc,
  	   typename _Predicate>
!     inline typename unordered_multiset<_Key, _Hash, _CPred, _Alloc>::size_type
!     erase_if(unordered_multiset<_Key, _Hash, _CPred, _Alloc>& __cont,
  	     _Predicate __pred)
!     {
!       _GLIBCXX_STD_C::unordered_multiset<_Key, _Hash, _CPred, _Alloc>&
! 	__ucont = __cont;
!       return __detail::__erase_nodes_if(__cont, __ucont, __pred);
!     }
  _GLIBCXX_END_NAMESPACE_VERSION
  } // namespace std
! #endif // C++20
  
  #endif // C++11
  
--- 78,105 ----
  } // namespace std
  #endif // C++17
  
! #ifdef __cpp_lib_erase_if // C++ >= 20 && HOSTED
  namespace std _GLIBCXX_VISIBILITY(default)
  {
  _GLIBCXX_BEGIN_NAMESPACE_VERSION
    template<typename _Key, typename _Hash, typename _CPred, typename _Alloc,
  	   typename _Predicate>
!     inline typename _GLIBCXX_STD_C::unordered_set<_Key, _Hash,
! 						  _CPred, _Alloc>::size_type
!     erase_if(_GLIBCXX_STD_C::unordered_set<_Key, _Hash, _CPred, _Alloc>& __cont,
  	     _Predicate __pred)
!     { return __detail::__erase_nodes_if(__cont, __cont, __pred); }
  
    template<typename _Key, typename _Hash, typename _CPred, typename _Alloc,
  	   typename _Predicate>
!     inline typename _GLIBCXX_STD_C::unordered_multiset<_Key, _Hash,
! 						      _CPred, _Alloc>::size_type
!     erase_if(_GLIBCXX_STD_C::unordered_multiset<_Key, _Hash, _CPred, _Alloc>& __cont,
  	     _Predicate __pred)
!     { return __detail::__erase_nodes_if(__cont, __cont, __pred); }
  _GLIBCXX_END_NAMESPACE_VERSION
  } // namespace std
! #endif // __cpp_lib_erase_if
  
  #endif // C++11
  
diff -Nrcpad gcc-16-20260118/libstdc++-v3/include/std/vector gcc-16-20260125/libstdc++-v3/include/std/vector
*** gcc-16-20260118/libstdc++-v3/include/std/vector	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/include/std/vector	Sun Jan 25 22:32:19 2026
***************
*** 68,73 ****
--- 68,74 ----
  #include <bits/stl_vector.h>
  #include <bits/stl_bvector.h>
  #include <bits/range_access.h>
+ #include <bits/erase_if.h>
  
  #ifndef _GLIBCXX_EXPORT_TEMPLATE
  # include <bits/vector.tcc>
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 114,132 ****
    template<typename _Tp, typename _Alloc, typename _Predicate>
      constexpr typename _GLIBCXX_STD_C::vector<_Tp, _Alloc>::size_type
      erase_if(_GLIBCXX_STD_C::vector<_Tp, _Alloc>& __cont, _Predicate __pred)
!     {
!       const auto __osz = __cont.size();
!       const auto __end = __cont.end();
!       auto __removed = std::__remove_if(__cont.begin(), __end,
! 					std::move(__pred));
!       if (__removed != __end)
! 	{
! 	  __cont.erase(__removed, __end);
! 	  return __osz - __cont.size();
! 	}
! 
!       return 0;
!     }
  
    template<typename _Tp, typename _Alloc,
  	   typename _Up _GLIBCXX26_DEF_VAL_T(_Tp)>
--- 115,121 ----
    template<typename _Tp, typename _Alloc, typename _Predicate>
      constexpr typename _GLIBCXX_STD_C::vector<_Tp, _Alloc>::size_type
      erase_if(_GLIBCXX_STD_C::vector<_Tp, _Alloc>& __cont, _Predicate __pred)
!     { return __detail::__erase_if(__cont, __cont, std::move(__pred)); }
  
    template<typename _Tp, typename _Alloc,
  	   typename _Up _GLIBCXX26_DEF_VAL_T(_Tp)>
diff -Nrcpad gcc-16-20260118/libstdc++-v3/libsupc++/compare gcc-16-20260125/libstdc++-v3/libsupc++/compare
*** gcc-16-20260118/libstdc++-v3/libsupc++/compare	Sun Jan 18 22:32:16 2026
--- gcc-16-20260125/libstdc++-v3/libsupc++/compare	Sun Jan 25 22:32:19 2026
*************** namespace std _GLIBCXX_VISIBILITY(defaul
*** 560,569 ****
  	  { static_cast<_Tp&&>(__t) <=> static_cast<_Up&&>(__u); }
  	  && convertible_to<_Tp, const volatile void*>
  	  && convertible_to<_Up, const volatile void*>
! 	  && ! requires(_Tp&& __t, _Up&& __u)
! 	  { operator<=>(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); }
! 	  && ! requires(_Tp&& __t, _Up&& __u)
! 	  { static_cast<_Tp&&>(__t).operator<=>(static_cast<_Up&&>(__u)); };
    } // namespace __detail
  
    // _GLIBCXX_RESOLVE_LIB_DEFECTS
--- 560,566 ----
  	  { static_cast<_Tp&&>(__t) <=> static_cast<_Up&&>(__u); }
  	  && convertible_to<_Tp, const volatile void*>
  	  && convertible_to<_Up, const volatile void*>
! 	  && __not_overloaded_spaceship<_Tp, _Up>;
    } // namespace __detail
  
    // _GLIBCXX_RESOLVE_LIB_DEFECTS
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/20_util/function_objects/comparisons_pointer_spaceship.cc gcc-16-20260125/libstdc++-v3/testsuite/20_util/function_objects/comparisons_pointer_spaceship.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/20_util/function_objects/comparisons_pointer_spaceship.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/20_util/function_objects/comparisons_pointer_spaceship.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,336 ----
+ // { dg-do run { target c++20 } }
+ 
+ #include <compare>
+ #include <cstring>
+ #include <functional>
+ #include <testsuite_hooks.h>
+ 
+ constexpr const char arr[] = "efgh\0abcd\0ijkl";
+ constexpr const char* s1 = arr;
+ constexpr const char* s2 = arr+5;
+ constexpr const char* s3 = arr+6;
+ 
+ struct CStrNone
+ {
+   const char* str;
+ 
+   constexpr
+   operator const char*() const
+   { return str; }
+ };
+ 
+ template<typename ResultCreator>
+ struct CStrMem
+ {
+   const char* str;
+ 
+   constexpr
+   operator const char*() const
+   { return str; }
+ 
+   auto operator<=>(CStrMem const& rhs) const
+   { return ResultCreator::create(std::strcmp(this->str, rhs.str)); }
+ 
+   auto operator<=>(const char* rhs) const
+   { return ResultCreator::create(std::strcmp(this->str, rhs)); }
+ };
+ 
+ template<typename ResultCreator>
+ struct CStrFriend
+ {
+   const char* str;
+ 
+   constexpr
+   operator const char*() const
+   { return str; }
+ 
+   friend auto operator<=>(CStrFriend lhs, CStrFriend rhs)
+   { return ResultCreator::create(std::strcmp(lhs.str, rhs.str)); }
+ 
+   friend auto operator<=>(CStrFriend lhs, const char* rhs)
+   { return ResultCreator::create(std::strcmp(lhs.str, rhs)); }
+ };
+ 
+ template<typename ResultCreator>
+ struct CStrFree
+ {
+   const char* str;
+ 
+   constexpr
+   operator const char*() const
+   { return str; }
+ };
+ 
+ template<typename RC>
+ auto operator<=>(CStrFree<RC> lhs, CStrFree<RC> rhs)
+ { return RC::create(std::strcmp(lhs.str, rhs.str)); }
+ 
+ template<typename RC>
+ auto operator<=>(CStrFree<RC> lhs, const char* rhs)
+ { return RC::create(std::strcmp(lhs.str, rhs)); }
+ 
+ template<typename ResultCreator>
+ struct CStrMixed
+ {
+   const char* str;
+ 
+   constexpr
+   operator const char*() const
+   { return str; }
+ };
+ 
+ template<typename RC>
+ auto operator<=>(CStrMixed<RC> lhs, CStrMixed<RC> rhs)
+ { return RC::create(std::strcmp(lhs.str, rhs.str)); }
+ 
+ template<typename RC>
+ auto operator<=>(CStrMixed<RC> lhs, CStrFree<RC> rhs)
+ { return RC::create(std::strcmp(lhs.str, rhs.str)); }
+ 
+ // If the type returned from shapeship does not support relational
+ // operators, then synthesized operators are ill-formed, SFINAEable.
+ struct ReturnVoid
+ {
+   constexpr static void
+   create(int) { }
+ };
+ 
+ struct NoOperators
+ {
+   constexpr static NoOperators
+   create(int)
+   { return NoOperators(); }
+ };
+ 
+ // std defined ordering types are expected
+ template<typename Ord = std::strong_ordering>
+ struct ReturnOrd
+ {
+   constexpr static Ord
+   create(int cmp)
+   { return cmp <=> 0; }
+ };
+ 
+ // However, other types that provide required
+ // operators are supported.
+ struct ReturnInt
+ {
+   constexpr static int
+   create(int cmp)
+   { return cmp; }
+ };
+ 
+ struct CustomOrd
+ {
+   constexpr static CustomOrd
+   create(int cmp)
+   { return CustomOrd(cmp); }
+ 
+   CustomOrd() = default;
+ 
+   explicit constexpr
+   CustomOrd(int cmp)
+   : v(cmp) {}
+ 
+   friend constexpr bool
+   operator<(CustomOrd c, std::nullptr_t)
+   { return c.v < 0; }
+ 
+   friend constexpr bool
+   operator<(std::nullptr_t, CustomOrd c)
+   { return 0 < c.v; }
+ 
+   friend constexpr bool
+   operator>(CustomOrd c, std::nullptr_t)
+   { return c.v > 0; }
+ 
+   friend constexpr bool
+   operator>(std::nullptr_t, CustomOrd c)
+   { return 0 > c.v; }
+ 
+   friend constexpr bool
+   operator<=(CustomOrd c, std::nullptr_t)
+   { return c.v <= 0; }
+ 
+   friend constexpr bool
+   operator<=(std::nullptr_t, CustomOrd c)
+   { return 0 <= c.v; }
+ 
+   friend constexpr bool
+   operator>=(CustomOrd c, std::nullptr_t)
+   { return c.v >= 0; }
+ 
+   friend constexpr bool
+   operator>=(std::nullptr_t, CustomOrd c)
+   { return 0 >= c.v; }
+ 
+   friend constexpr CustomOrd
+   operator<=>(CustomOrd c, std::nullptr_t)
+   { return c; }
+ 
+   friend constexpr CustomOrd
+   operator<=>(std::nullptr_t, CustomOrd c)
+   { return CustomOrd(-c.v); }
+ 
+ private:
+   int v = 0;
+ };
+ 
+ template<typename CStr1, typename CStr2>
+ void
+ test_relational(bool use_overloaded)
+ {
+   CStr1 cs1{s1}; CStr2 cs2{s2};
+ 
+   if (use_overloaded)
+   {
+     // Overloaded operaetors compare content of the string,
+     // and cs1 > cs2;
+ 
+     VERIFY( !(cs1 < cs2) );
+     VERIFY( !std::less<>{}(cs1, cs2) );
+     VERIFY( !std::ranges::less{}(cs1, cs2) );
+ 
+     VERIFY( (cs1 > cs2) );
+     VERIFY( std::greater<>{}(cs1, cs2) );
+     VERIFY( std::ranges::greater{}(cs1, cs2) );
+ 
+     VERIFY( !(cs1 < cs2) );
+     VERIFY( !std::less_equal<>{}(cs1, cs2) );
+     VERIFY( !std::ranges::less_equal{}(cs1, cs2) );
+ 
+     VERIFY( (cs1 > cs2) );
+     VERIFY( std::greater_equal<>{}(cs1, cs2) );
+     VERIFY( std::ranges::greater_equal{}(cs1, cs2) );
+   }
+   else
+   {
+     // Without overloaded operators, we comapre pointers,
+     // and cs1 < cs2;
+ 
+     VERIFY( (cs1 < cs2) );
+     VERIFY( std::less<>{}(cs1, cs2) );
+     VERIFY( std::ranges::less{}(cs1, cs2) );
+ 
+     VERIFY( !(cs1 > cs2) );
+     VERIFY( !std::greater<>{}(cs1, cs2) );
+     VERIFY( !std::ranges::greater{}(cs1, cs2) );
+ 
+     VERIFY( (cs1 < cs2) );
+     VERIFY( std::less_equal<>{}(cs1, cs2) );
+     VERIFY( std::ranges::less_equal{}(cs1, cs2) );
+ 
+     VERIFY( !(cs1 > cs2) );
+     VERIFY( !std::greater_equal<>{}(cs1, cs2) );
+     VERIFY( !std::ranges::greater_equal{}(cs1, cs2) );
+   }
+ }
+ 
+ template<typename CStr>
+ void
+ test_relational_type(bool use_overloaded)
+ {
+   test_relational<CStr, CStr>(use_overloaded);
+   test_relational<CStr, const char*>(use_overloaded);
+   test_relational<const char*, CStr>(use_overloaded);
+ }
+ 
+ template<typename RC>
+ void
+ test_relational_return()
+ {
+   test_relational_type<CStrMem<RC>>(true);
+   test_relational_type<CStrFriend<RC>>(true);
+   test_relational_type<CStrFree<RC>>(true);
+   test_relational<CStrMixed<RC>, CStrFree<RC>>(true);
+   test_relational<CStrFree<RC>, CStrMixed<RC>>(true);
+ }
+ 
+ template<typename CStr1, typename CStr2>
+ void
+ test_spaceship(bool use_overloaded)
+ {
+   CStr1 cs1{s1}; CStr2 cs2{s2};
+ 
+   if (use_overloaded)
+   {
+     // Overloaded operaetors compare content of the string,
+     // and cs1 > cs2;
+     VERIFY( (cs1 <=> cs2) > 0 );
+     VERIFY( std::compare_three_way{}(cs1, cs2) > 0 );
+   }
+   else
+   {
+     // Without overloaded operators, we comapre pointers,
+     // and cs1 < cs2;
+     VERIFY( (cs1 <=> cs2) < 0 );
+     VERIFY( std::compare_three_way{}(cs1, cs2) < 0 );
+   }
+ }
+ 
+ template<typename CStr>
+ void
+ test_spaceship_type(bool use_overloaded)
+ {
+   test_spaceship<CStr, CStr>(use_overloaded);
+   test_spaceship<CStr, const char*>(use_overloaded);
+   test_spaceship<const char*, CStr>(use_overloaded);
+ }
+ 
+ template<typename Ordering>
+ void
+ test_std_ordering()
+ {
+   using RC = ReturnOrd<Ordering>;
+   test_relational_return<RC>();
+   test_spaceship_type<CStrMem<RC>>(true);
+   test_spaceship_type<CStrFriend<RC>>(true);
+   test_spaceship_type<CStrFree<RC>>(true);
+   test_spaceship<CStrMixed<RC>, CStrFree<RC>>(true);
+   test_spaceship<CStrFree<RC>, CStrMixed<RC>>(true);
+ }
+ 
+ template<typename CStr1, typename CStr2>
+ void
+ test_no_relational()
+ {
+   CStr1 c1{}; CStr2 c2{};
+   static_assert(!requires { c1 < c2; });
+   static_assert(!requires { c1 > c2; });
+   static_assert(!requires { c1 <= c2; });
+   static_assert(!requires { c1 >= c2; });
+ }
+ 
+ template<typename CStr>
+ void
+ test_no_relational_type()
+ {
+   test_no_relational<CStr, CStr>();
+   test_no_relational<CStr, const char*>();
+   test_no_relational<const char*, CStr>();
+ }
+ 
+ template<typename RC>
+ void
+ test_no_relational_return()
+ {
+   test_no_relational_type<CStrMem<RC>>();
+   test_no_relational_type<CStrFriend<RC>>();
+   test_no_relational_type<CStrFree<RC>>();
+   test_no_relational<CStrMixed<RC>, CStrFree<RC>>();
+   test_no_relational<CStrFree<RC>, CStrMixed<RC>>();
+ }
+ 
+ int main()
+ {
+   test_std_ordering<std::strong_ordering>();
+   test_std_ordering<std::weak_ordering>();
+   test_std_ordering<std::partial_ordering>();
+ 
+   test_relational_type<CStrNone>(false);
+   test_relational_return<ReturnInt>();
+   test_relational_return<CustomOrd>();
+ 
+   test_no_relational_return<ReturnVoid>();
+   test_no_relational_return<NoOperators>();
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/21_strings/basic_string/debug/erase.cc gcc-16-20260125/libstdc++-v3/testsuite/21_strings/basic_string/debug/erase.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/21_strings/basic_string/debug/erase.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/21_strings/basic_string/debug/erase.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,25 ----
+ // { dg-do run { target c++20 } }
+ 
+ #include <debug/string>
+ #include <testsuite_hooks.h>
+ 
+ using __gnu_debug::string;
+ 
+ void test01()
+ {
+   string str("abcdefghijklmnopqrstuvwxyz");
+ 
+   auto before = str.begin();
+   auto last = str.end() - 1;
+ 
+   VERIFY( std::erase(str, 'd') == 1 );
+ 
+   VERIFY(before._M_singular());
+   VERIFY(last._M_singular());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,26 ----
+ // { dg-do run { target c++20 } }
+ // { dg-require-debug-mode "" }
+ 
+ #include <forward_list>
+ #include <testsuite_hooks.h>
+ 
+ void test01()
+ {
+   std::forward_list<int> fl({ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 });
+ 
+   auto before = ++fl.begin();
+   auto match = std::next(fl.begin(), 6);
+   auto last = std::next(fl.begin(), 9);
+ 
+   VERIFY( std::erase(fl, 6) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/forward_list/debug/invalidation/erase.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/forward_list/debug/invalidation/erase.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/forward_list/debug/invalidation/erase.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/forward_list/debug/invalidation/erase.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,27 ----
+ // { dg-do run { target c++20 } }
+ 
+ #include <debug/forward_list>
+ #include <testsuite_hooks.h>
+ 
+ using __gnu_debug::forward_list;
+ 
+ void test01()
+ {
+   forward_list<int> fl({ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 });
+ 
+   auto before = ++fl.begin();
+   auto match = std::next(fl.begin(), 6);
+   auto last = std::next(fl.begin(), 9);
+ 
+   VERIFY( std::erase(fl, 6) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/list/debug/erase.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/list/debug/erase.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/list/debug/erase.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/list/debug/erase.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,29 ----
+ // { dg-do run { target c++20 } }
+ // { dg-require-debug-mode "" }
+ 
+ #include <list>
+ #include <testsuite_hooks.h>
+ 
+ void test01()
+ {
+   std::list<int> l;
+ 
+   for (int i = 0; i != 10; ++i)
+     l.push_back(i);
+ 
+   auto before = ++l.begin();
+   auto match = std::next(l.begin(), 6);
+   auto last = --l.end();
+ 
+   VERIFY( std::erase(l, 6) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/erase.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/erase.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/erase.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/erase.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,30 ----
+ // { dg-do run { target c++20 } }
+ 
+ #include <debug/list>
+ #include <testsuite_hooks.h>
+ 
+ using __gnu_debug::list;
+ 
+ void test01()
+ {
+   list<int> l;
+ 
+   for (int i = 0; i != 10; ++i)
+     l.push_back(i);
+ 
+   auto before = ++l.begin();
+   auto match = std::next(l.begin(), 6);
+   auto last = --l.end();
+ 
+   VERIFY( std::erase(l, 6) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/map/debug/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/map/debug/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/map/debug/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/map/debug/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,33 ----
+ // { dg-do run { target c++20 } }
+ // { dg-require-debug-mode "" }
+ 
+ #include <map>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six_pair = [](const std::pair<const int, int>& p)
+ {
+   return p.first == 6;
+ };
+ 
+ void test01()
+ {
+   std::map<int, int> m;
+   for (int i = 0; i != 10; ++i)
+     m.insert({ i, i });
+ 
+   auto before = ++m.begin();
+   auto match = std::next(m.begin(), 6);
+   auto last = std::next(m.begin(), 9);
+ 
+   VERIFY( std::erase_if(m, is_six_pair) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,34 ----
+ // { dg-do run { target c++20 } }
+ 
+ #include <debug/map>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six_pair = [](const std::pair<const int, int>& p)
+ {
+   return p.first == 6;
+ };
+ 
+ using __gnu_debug::map;
+ 
+ void test01()
+ {
+   map<int, int> m;
+   for (int i = 0; i != 10; ++i)
+     m.insert({ i, i });
+ 
+   auto before = ++m.begin();
+   auto match = std::next(m.begin(), 6);
+   auto last = std::next(m.begin(), 9);
+ 
+   VERIFY( std::erase_if(m, is_six_pair) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/multimap/debug/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/multimap/debug/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/multimap/debug/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/multimap/debug/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,33 ----
+ // { dg-do run { target c++20 } }
+ // { dg-require-debug-mode "" }
+ 
+ #include <map>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six_pair = [](const std::pair<const int, int>& p)
+ {
+   return p.first == 6;
+ };
+ 
+ void test01()
+ {
+   std::multimap<int, int> m;
+   for (int i = 0; i != 10; ++i)
+     m.insert({ i, i });
+ 
+   auto before = ++m.begin();
+   auto match = std::next(m.begin(), 6);
+   auto last = std::next(m.begin(), 9);
+ 
+   VERIFY( std::erase_if(m, is_six_pair) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,34 ----
+ // { dg-do run { target c++20 } }
+ 
+ #include <debug/map>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six_pair = [](const std::pair<const int, int>& p)
+ {
+   return p.first == 6;
+ };
+ 
+ using __gnu_debug::multimap;
+ 
+ void test01()
+ {
+   multimap<int, int> m;
+   for (int i = 0; i != 10; ++i)
+     m.insert({ i, i });
+ 
+   auto before = ++m.begin();
+   auto match = std::next(m.begin(), 6);
+   auto last = std::next(m.begin(), 9);
+ 
+   VERIFY( std::erase_if(m, is_six_pair) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/multiset/debug/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/multiset/debug/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/multiset/debug/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/multiset/debug/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,31 ----
+ // { dg-do run { target c++20 } }
+ // { dg-require-debug-mode "" }
+ 
+ #include <set>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six = [](int p)
+ { return p == 6; };
+ 
+ void test01()
+ {
+   std::multiset<int> s;
+   for (int i = 0; i != 10; ++i)
+     s.insert(i);
+ 
+   auto before = ++s.begin();
+   auto match = std::next(s.begin(), 6);
+   auto last = std::next(s.begin(), 9);
+ 
+   VERIFY( std::erase_if(s, is_six) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,32 ----
+ // { dg-do run { target c++20 } }
+ 
+ #include <debug/set>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six = [](int p)
+ { return p == 6; };
+ 
+ using __gnu_debug::multiset;
+ 
+ void test01()
+ {
+   multiset<int> s;
+   for (int i = 0; i != 10; ++i)
+     s.insert(i);
+ 
+   auto before = ++s.begin();
+   auto match = std::next(s.begin(), 6);
+   auto last = std::next(s.begin(), 9);
+ 
+   VERIFY( std::erase_if(s, is_six) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/set/debug/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/set/debug/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/set/debug/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/set/debug/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,31 ----
+ // { dg-do run { target c++20 } }
+ // { dg-require-debug-mode "" }
+ 
+ #include <set>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six = [](int p)
+ { return p == 6; };
+ 
+ void test01()
+ {
+   std::set<int> s;
+   for (int i = 0; i != 10; ++i)
+     s.insert(i);
+ 
+   auto before = ++s.begin();
+   auto match = std::next(s.begin(), 6);
+   auto last = std::next(s.begin(), 9);
+ 
+   VERIFY( std::erase_if(s, is_six) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,32 ----
+ // { dg-do run { target c++20 } }
+ 
+ #include <debug/set>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six = [](int p)
+ { return p == 6; };
+ 
+ using __gnu_debug::set;
+ 
+ void test01()
+ {
+   set<int> s;
+   for (int i = 0; i != 10; ++i)
+     s.insert(i);
+ 
+   auto before = ++s.begin();
+   auto match = std::next(s.begin(), 6);
+   auto last = std::next(s.begin(), 9);
+ 
+   VERIFY( std::erase_if(s, is_six) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_map/debug/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_map/debug/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_map/debug/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_map/debug/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,33 ----
+ // { dg-do run { target c++20 } }
+ // { dg-require-debug-mode "" }
+ 
+ #include <unordered_map>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six_pair = [](const std::pair<const int, int>& p)
+ {
+   return p.first == 6;
+ };
+ 
+ void test01()
+ {
+   std::unordered_map<int, int> m;
+   for (int i = 0; i != 10; ++i)
+     m.insert({ i, i });
+ 
+   auto before = m.find(1);
+   auto match = m.find(6);
+   auto last = m.find(9);
+ 
+   VERIFY( std::erase_if(m, is_six_pair) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalidation/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalidation/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalidation/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalidation/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,34 ----
+ // { dg-do run { target c++20 } }
+ 
+ #include <debug/unordered_map>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six_pair = [](const std::pair<const int, int>& p)
+ {
+   return p.first == 6;
+ };
+ 
+ using __gnu_debug::unordered_map;
+ 
+ void test01()
+ {
+   unordered_map<int, int> m;
+   for (int i = 0; i != 10; ++i)
+     m.insert({ i, i });
+ 
+   auto before = m.find(1);
+   auto match = m.find(6);
+   auto last = m.find(9);
+ 
+   VERIFY( std::erase_if(m, is_six_pair) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,33 ----
+ // { dg-do run { target c++20 } }
+ // { dg-require-debug-mode "" }
+ 
+ #include <unordered_map>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six_pair = [](const std::pair<const int, int>& p)
+ {
+   return p.first == 6;
+ };
+ 
+ void test01()
+ {
+   std::unordered_multimap<int, int> m;
+   for (int i = 0; i != 10; ++i)
+     m.insert({ i, i });
+ 
+   auto before = m.find(1);
+   auto match = m.find(6);
+   auto last = m.find(9);
+ 
+   VERIFY( std::erase_if(m, is_six_pair) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalidation/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalidation/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalidation/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalidation/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,34 ----
+ // { dg-do run { target c++20 } }
+ 
+ #include <debug/unordered_map>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six_pair = [](const std::pair<const int, int>& p)
+ {
+   return p.first == 6;
+ };
+ 
+ using __gnu_debug::unordered_multimap;
+ 
+ void test01()
+ {
+   unordered_multimap<int, int> m;
+   for (int i = 0; i != 10; ++i)
+     m.insert({ i, i });
+ 
+   auto before = m.find(1);
+   auto match = m.find(6);
+   auto last = m.find(9);
+ 
+   VERIFY( std::erase_if(m, is_six_pair) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,31 ----
+ // { dg-do run { target c++20 } }
+ // { dg-require-debug-mode "" }
+ 
+ #include <unordered_set>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six = [](int p)
+ { return p == 6; };
+ 
+ void test01()
+ {
+   std::unordered_multiset<int> s;
+   for (int i = 0; i != 10; ++i)
+     s.insert(i);
+ 
+   auto before = s.find(1);
+   auto match = s.find(6);
+   auto last = s.find(9);
+ 
+   VERIFY( std::erase_if(s, is_six) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalidation/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalidation/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalidation/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalidation/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,32 ----
+ // { dg-do run { target c++20 } }
+ 
+ #include <debug/unordered_set>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six = [](int p)
+ { return p == 6; };
+ 
+ using __gnu_debug::unordered_multiset;
+ 
+ void test01()
+ {
+   unordered_multiset<int> s;
+   for (int i = 0; i != 10; ++i)
+     s.insert(i);
+ 
+   auto before = s.find(1);
+   auto match = s.find(6);
+   auto last = s.find(9);
+ 
+   VERIFY( std::erase_if(s, is_six) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_set/debug/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_set/debug/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_set/debug/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_set/debug/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,31 ----
+ // { dg-do run { target c++20 } }
+ // { dg-require-debug-mode "" }
+ 
+ #include <unordered_set>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six = [](int p)
+ { return p == 6; };
+ 
+ void test01()
+ {
+   std::unordered_set<int> s;
+   for (int i = 0; i != 10; ++i)
+     s.insert(i);
+ 
+   auto before = s.find(1);
+   auto match = s.find(6);
+   auto last = s.find(9);
+ 
+   VERIFY( std::erase_if(s, is_six) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalidation/erase_if.cc gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalidation/erase_if.cc
*** gcc-16-20260118/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalidation/erase_if.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260125/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalidation/erase_if.cc	Sun Jan 25 22:32:19 2026
***************
*** 0 ****
--- 1,32 ----
+ // { dg-do run { target c++20 } }
+ 
+ #include <debug/unordered_set>
+ #include <testsuite_hooks.h>
+ 
+ auto is_six = [](int p)
+ { return p == 6; };
+ 
+ using __gnu_debug::unordered_set;
+ 
+ void test01()
+ {
+   unordered_set<int> s;
+   for (int i = 0; i != 10; ++i)
+     s.insert(i);
+ 
+   auto before = s.find(1);
+   auto match = s.find(6);
+   auto last = s.find(9);
+ 
+   VERIFY( std::erase_if(s, is_six) == 1 );
+ 
+   VERIFY(before._M_dereferenceable());
+   VERIFY(match._M_singular());
+   VERIFY(last._M_dereferenceable());
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
