diff -Nrcpad gcc-14-20260206/LAST_UPDATED gcc-14-20260213/LAST_UPDATED
*** gcc-14-20260206/LAST_UPDATED	Fri Feb  6 22:32:19 2026
--- gcc-14-20260213/LAST_UPDATED	Fri Feb 13 22:32:19 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-14 revision 936c3666dbd45b6789772f48adca99f57af0fde6
--- 1 ----
! Obtained from git: releases/gcc-14 revision c284f911f5508f92ff3b4e421223453052a2beaf
diff -Nrcpad gcc-14-20260206/MD5SUMS gcc-14-20260213/MD5SUMS
*** gcc-14-20260206/MD5SUMS	Fri Feb  6 22:32:23 2026
--- gcc-14-20260213/MD5SUMS	Fri Feb 13 22:32:24 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-14-20260206.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
--- 1,5 ----
  # This file contains the MD5 checksums of the files in the
! # gcc-14-20260213.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
*************** fc9280b02bc68e4fb1ef8d51ccc25061  Change
*** 23,29 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 6e356b2a35562dc05b9c5b601612ff78  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
--- 23,29 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! f60ad8697367715dd056d8f231586bdb  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
*************** bc7394806417778d77541ba1ec0e4a70  gcc/BA
*** 505,511 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 93fd38e747bc059965c6f7d02da36831  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
--- 505,511 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 92eb93ee354bddbfbfe7c2b1a88e599b  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 541,547 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 6acd0d66cb75bcbd6dd0867a4200934b  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 541,547 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 93560c2d4c1423f41a03a4eb601c099e  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** e3e9b5f54d74124ed2134ed9adb9cfa2  gcc/co
*** 3343,3349 ****
  d1a1d7693a94b8604a3ba47c735ba2ac  gcc/config/aarch64/aarch64-option-extensions.def
  79e4ec77882101517b089ed6a907d0ae  gcc/config/aarch64/aarch64-opts.h
  d9397260c45e57a1d9da554ae2e2a646  gcc/config/aarch64/aarch64-passes.def
! 7cf7ae7cf4eb830d35e3ff4ba9be045d  gcc/config/aarch64/aarch64-protos.h
  7c179f0d23167a6411dadbbe19b1adcf  gcc/config/aarch64/aarch64-simd-builtin-types.def
  7235658ecb695c8e01083f68a4dd0b61  gcc/config/aarch64/aarch64-simd-builtins.def
  abcd6dd3c7350930009da68b12c04bf9  gcc/config/aarch64/aarch64-simd.md
--- 3343,3349 ----
  d1a1d7693a94b8604a3ba47c735ba2ac  gcc/config/aarch64/aarch64-option-extensions.def
  79e4ec77882101517b089ed6a907d0ae  gcc/config/aarch64/aarch64-opts.h
  d9397260c45e57a1d9da554ae2e2a646  gcc/config/aarch64/aarch64-passes.def
! 7ff198a5ccefefadf0e7e386637612f3  gcc/config/aarch64/aarch64-protos.h
  7c179f0d23167a6411dadbbe19b1adcf  gcc/config/aarch64/aarch64-simd-builtin-types.def
  7235658ecb695c8e01083f68a4dd0b61  gcc/config/aarch64/aarch64-simd-builtins.def
  abcd6dd3c7350930009da68b12c04bf9  gcc/config/aarch64/aarch64-simd.md
*************** a39737ff1f5e6f846bf63d31e70b6410  gcc/co
*** 3370,3378 ****
  33a4960a659d71bba22c1a55c94c828a  gcc/config/aarch64/aarch64-tune.md
  6ede31fb52cae2cf590b667c55706637  gcc/config/aarch64/aarch64-tuning-flags.def
  93d2ce2396c397f594f146a9d7d80c52  gcc/config/aarch64/aarch64-vxworks.h
! e5d21d41b4e1c5848810fd398dac9256  gcc/config/aarch64/aarch64.cc
  be8a897650902ba46d1df7cb3a50ca2c  gcc/config/aarch64/aarch64.h
! f73881040bcc95fcfef6c8adbb4d3e6d  gcc/config/aarch64/aarch64.md
  3948f2f1b7b27ca528cac06ae5fe36ff  gcc/config/aarch64/aarch64.opt
  1277617373f7bad91a5af74470db72b3  gcc/config/aarch64/aarch64.opt.urls
  f61efd6d307f4c9a5ce32b1a5ff63083  gcc/config/aarch64/arm_acle.h
--- 3370,3378 ----
  33a4960a659d71bba22c1a55c94c828a  gcc/config/aarch64/aarch64-tune.md
  6ede31fb52cae2cf590b667c55706637  gcc/config/aarch64/aarch64-tuning-flags.def
  93d2ce2396c397f594f146a9d7d80c52  gcc/config/aarch64/aarch64-vxworks.h
! 58004a0f1f205ba3a9248459f7a9df65  gcc/config/aarch64/aarch64.cc
  be8a897650902ba46d1df7cb3a50ca2c  gcc/config/aarch64/aarch64.h
! f543204c7e7054be7c1c99c5deb03061  gcc/config/aarch64/aarch64.md
  3948f2f1b7b27ca528cac06ae5fe36ff  gcc/config/aarch64/aarch64.opt
  1277617373f7bad91a5af74470db72b3  gcc/config/aarch64/aarch64.opt.urls
  f61efd6d307f4c9a5ce32b1a5ff63083  gcc/config/aarch64/arm_acle.h
*************** bf32c438eaeb9f5ef0b840bddc108fc7  gcc/cs
*** 5472,5478 ****
  aba39deaa8ad2ad555dc0798497a6c58  gcc/ctfc.cc
  94a425b811af1e25020f3a86ae78ee7c  gcc/ctfc.h
  7f33e05a76e2406be70d93293850b281  gcc/ctfout.cc
! 7a2479f4acd215810b165b7c90bd66c2  gcc/d/ChangeLog
  86f687c485111eedca2eb048294f957e  gcc/d/ChangeLog-2006
  70ed1c47fd9b3f5dd95055642ed79265  gcc/d/ChangeLog-2007
  a7090ab2dd83aa4f44823c17566b83ef  gcc/d/ChangeLog-2008
--- 5472,5478 ----
  aba39deaa8ad2ad555dc0798497a6c58  gcc/ctfc.cc
  94a425b811af1e25020f3a86ae78ee7c  gcc/ctfc.h
  7f33e05a76e2406be70d93293850b281  gcc/ctfout.cc
! 00e87778de632dc77a19e7c150617948  gcc/d/ChangeLog
  86f687c485111eedca2eb048294f957e  gcc/d/ChangeLog-2006
  70ed1c47fd9b3f5dd95055642ed79265  gcc/d/ChangeLog-2007
  a7090ab2dd83aa4f44823c17566b83ef  gcc/d/ChangeLog-2008
*************** ad0f78ba8b0701a44bdecc5faa124807  gcc/d/
*** 5698,5704 ****
  44c7f391ce2df261118780dad2e204ef  gcc/d/dmd/version.h
  39f4362c93869c60a676f338ba6aafa1  gcc/d/dmd/visitor.d
  28ad876b926e1a11eef92fa93a0c76d8  gcc/d/dmd/visitor.h
! 19dcc3bb758bc5105b461cf3cf0a22b6  gcc/d/expr.cc
  31c6c893c7016bba33894d4ecb870186  gcc/d/gdc.texi
  b2292b1eddab0999ca356e893894aef3  gcc/d/implement-d.texi
  a09fb081bd2127bf8eb758662b188c8a  gcc/d/imports.cc
--- 5698,5704 ----
  44c7f391ce2df261118780dad2e204ef  gcc/d/dmd/version.h
  39f4362c93869c60a676f338ba6aafa1  gcc/d/dmd/visitor.d
  28ad876b926e1a11eef92fa93a0c76d8  gcc/d/dmd/visitor.h
! d146f5d532aa40e193e4df056a9ab396  gcc/d/expr.cc
  31c6c893c7016bba33894d4ecb870186  gcc/d/gdc.texi
  b2292b1eddab0999ca356e893894aef3  gcc/d/implement-d.texi
  a09fb081bd2127bf8eb758662b188c8a  gcc/d/imports.cc
*************** e8a9eb01b9451a357155e7152df1c669  gcc/ta
*** 8062,8068 ****
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 91fd5dae231fb229205c8fd7080d640c  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
--- 8062,8068 ----
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 203cb7240dbdf7e614bc8fb03a076fba  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** fdf31615d4c23a6cda30ff2ff1493fcd  gcc/te
*** 59281,59286 ****
--- 59281,59287 ----
  5a4e5012170fd731aad53e8a5e8ca2b0  gcc/testsuite/gcc.target/aarch64/sme/sibcall_7_ts.c
  c24e7b6e6657e7a0bc6f6c3324ca0e55  gcc/testsuite/gcc.target/aarch64/sme/sibcall_8.c
  b7e9ea35db65f1f9ab0129b6787b4aa1  gcc/testsuite/gcc.target/aarch64/sme/sibcall_9.c
+ 474e35480cd904009962a6b25b99f50d  gcc/testsuite/gcc.target/aarch64/sme/sme-shrinkwrap.c
  197d088cac6259805e5e00b6ddfcd879  gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_1.c
  9ce9b56fcc81eccd70d155b7ba6b7628  gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_2.c
  fcf99b5d14963d6dc0b0c9a728fc8ac4  gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_3.c
*************** e89ebd75d9b162289c929675222e8501  gcc/te
*** 89005,89010 ****
--- 89006,89012 ----
  a45efe7a1d6f8b7f15f7befa3e7b1768  gcc/testsuite/gdc.dg/pr123407b.d
  4e7020df6ad139d4b43104ca5b97d142  gcc/testsuite/gdc.dg/pr123419.d
  56c2a0939424aafd465f15ffdd08847b  gcc/testsuite/gdc.dg/pr123798.d
+ 8121b336beaee98841d3fb15f1ac0198  gcc/testsuite/gdc.dg/pr124026.d
  d32aa8ed5ea10931be4ddb5bb9e863d8  gcc/testsuite/gdc.dg/pr89017.d
  53fa8db94d4ca3fc9ba83769733dc0e7  gcc/testsuite/gdc.dg/pr89041.d
  6c316b13f71ea31fcada56b58a41ebd1  gcc/testsuite/gdc.dg/pr89042a.d
*************** d828e38384c506bf5e7d5a3c02725a37  libssp
*** 123809,123815 ****
  7bb3c32ba0a48d1cf785305e1b783eb6  libssp/strncpy-chk.c
  a19c79c1d86436e86b0fee41e6cf6b15  libssp/vsnprintf-chk.c
  145156e880b03115b393070d0ed37be3  libssp/vsprintf-chk.c
! 1dc08c67596816be2a7307ad950cdcbb  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 123811,123817 ----
  7bb3c32ba0a48d1cf785305e1b783eb6  libssp/strncpy-chk.c
  a19c79c1d86436e86b0fee41e6cf6b15  libssp/vsnprintf-chk.c
  145156e880b03115b393070d0ed37be3  libssp/vsprintf-chk.c
! 01975ba8544e84338ff6ffce0e1742ca  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** c6b3be3f7c9e66db91c556f5614ccd86  libstd
*** 124495,124501 ****
  9529790962fcc36aa3e8749da4844883  libstdc++-v3/include/bits/atomic_wait.h
  7e4c44e3709a39e69e5926b8943aaeaa  libstdc++-v3/include/bits/basic_ios.h
  c5f0b0cf12a20c25f0e41914429011a4  libstdc++-v3/include/bits/basic_ios.tcc
! 50022ba6baf116415f0c60491f1837ef  libstdc++-v3/include/bits/basic_string.h
  2103f7f0b7675f2dbef787a9dfe5cab1  libstdc++-v3/include/bits/basic_string.tcc
  c7a6720fba64940d0fa26db8b1690df2  libstdc++-v3/include/bits/boost_concept_check.h
  40bbfd82087a88af5f846b2166bbb898  libstdc++-v3/include/bits/c++0x_warning.h
--- 124497,124503 ----
  9529790962fcc36aa3e8749da4844883  libstdc++-v3/include/bits/atomic_wait.h
  7e4c44e3709a39e69e5926b8943aaeaa  libstdc++-v3/include/bits/basic_ios.h
  c5f0b0cf12a20c25f0e41914429011a4  libstdc++-v3/include/bits/basic_ios.tcc
! b4ba452f9aefccd503b0b3aff37ea147  libstdc++-v3/include/bits/basic_string.h
  2103f7f0b7675f2dbef787a9dfe5cab1  libstdc++-v3/include/bits/basic_string.tcc
  c7a6720fba64940d0fa26db8b1690df2  libstdc++-v3/include/bits/boost_concept_check.h
  40bbfd82087a88af5f846b2166bbb898  libstdc++-v3/include/bits/c++0x_warning.h
*************** a2af06290cb60d50293e7486d3c7cd47  libstd
*** 124506,124512 ****
  852f5e0c4254adc1ac53f52e42d875e3  libstdc++-v3/include/bits/chrono_io.h
  88b76f5a51860ba832b9dc12ecb77d11  libstdc++-v3/include/bits/codecvt.h
  51b1ac432b9720acddaea7defbbb9885  libstdc++-v3/include/bits/concept_check.h
! 9f6becff2cdcd091bfe82c8c2a145148  libstdc++-v3/include/bits/cow_string.h
  d68615791f87e5f4b1ab7e55dbbdf7d8  libstdc++-v3/include/bits/cpp_type_traits.h
  6925481fe4621a431555a4cc65a190ee  libstdc++-v3/include/bits/deque.tcc
  769cf52788a336b71f976155bb6f43bd  libstdc++-v3/include/bits/elements_of.h
--- 124508,124514 ----
  852f5e0c4254adc1ac53f52e42d875e3  libstdc++-v3/include/bits/chrono_io.h
  88b76f5a51860ba832b9dc12ecb77d11  libstdc++-v3/include/bits/codecvt.h
  51b1ac432b9720acddaea7defbbb9885  libstdc++-v3/include/bits/concept_check.h
! 8a0280a1d69fd047e88fcd22a0723686  libstdc++-v3/include/bits/cow_string.h
  d68615791f87e5f4b1ab7e55dbbdf7d8  libstdc++-v3/include/bits/cpp_type_traits.h
  6925481fe4621a431555a4cc65a190ee  libstdc++-v3/include/bits/deque.tcc
  769cf52788a336b71f976155bb6f43bd  libstdc++-v3/include/bits/elements_of.h
*************** ba6fdb35c83864ee024b67957ec5139e  libstd
*** 124550,124556 ****
  34f4e090534a50eb37116b0383cd19b9  libstdc++-v3/include/bits/node_handle.h
  e550e635e1f42bf8467d788380ccd250  libstdc++-v3/include/bits/ostream.tcc
  b3cc417d9bf80b45297f5caccd8e79c6  libstdc++-v3/include/bits/ostream_insert.h
! d99f9625098f07a9525cf5f41ad18321  libstdc++-v3/include/bits/out_ptr.h
  23a6fd8c321e54ff587d296e0fd069cf  libstdc++-v3/include/bits/parse_numbers.h
  eb435bab187a1573a8b7d3ca8297ded1  libstdc++-v3/include/bits/postypes.h
  6e5715ba617a5f0246f059bf9a9a7309  libstdc++-v3/include/bits/predefined_ops.h
--- 124552,124558 ----
  34f4e090534a50eb37116b0383cd19b9  libstdc++-v3/include/bits/node_handle.h
  e550e635e1f42bf8467d788380ccd250  libstdc++-v3/include/bits/ostream.tcc
  b3cc417d9bf80b45297f5caccd8e79c6  libstdc++-v3/include/bits/ostream_insert.h
! 7ff51e7a483463b8a5d93ea2d31841b9  libstdc++-v3/include/bits/out_ptr.h
  23a6fd8c321e54ff587d296e0fd069cf  libstdc++-v3/include/bits/parse_numbers.h
  eb435bab187a1573a8b7d3ca8297ded1  libstdc++-v3/include/bits/postypes.h
  6e5715ba617a5f0246f059bf9a9a7309  libstdc++-v3/include/bits/predefined_ops.h
*************** c94ad903b4e7baf364cdc3ef5e9f58a8  libstd
*** 125428,125434 ****
  68b329da9893e34099c7d8ad5cb9c940  libstdc++-v3/python/libstdcxx/__init__.py
  9873f3513a8a40453d41552eedca2d27  libstdc++-v3/python/libstdcxx/v6/__init__.py
  2d0ea232c01eeaba30585cc7f3107d31  libstdc++-v3/python/libstdcxx/v6/printers.py
! b5a48bab2103d59dab15b85159d77520  libstdc++-v3/python/libstdcxx/v6/xmethods.py
  cdac7363b91e7d57b85f7b560f62f033  libstdc++-v3/scripts/check_compile
  a4c1d51bba293cee2307fc7f9dd090f7  libstdc++-v3/scripts/check_performance
  128d0fbc24e1d43d9ff93d14bd521aa6  libstdc++-v3/scripts/check_simd
--- 125430,125436 ----
  68b329da9893e34099c7d8ad5cb9c940  libstdc++-v3/python/libstdcxx/__init__.py
  9873f3513a8a40453d41552eedca2d27  libstdc++-v3/python/libstdcxx/v6/__init__.py
  2d0ea232c01eeaba30585cc7f3107d31  libstdc++-v3/python/libstdcxx/v6/printers.py
! 0f9ff331bf0b5a08a262da59733bc549  libstdc++-v3/python/libstdcxx/v6/xmethods.py
  cdac7363b91e7d57b85f7b560f62f033  libstdc++-v3/scripts/check_compile
  a4c1d51bba293cee2307fc7f9dd090f7  libstdc++-v3/scripts/check_performance
  128d0fbc24e1d43d9ff93d14bd521aa6  libstdc++-v3/scripts/check_simd
*************** b556aac21d41332929350cfa43c2d400  libstd
*** 127611,127620 ****
--- 127613,127624 ----
  37a3fe8449f7948f044f2900e75f7ebb  libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc
  fecb5f76794dcb7b16941f3d83836e9e  libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring_float.cc
  182461449a4aca8037e8e00cc0ec7c97  libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/1.cc
+ c24c0e6f49ab658726699f1007f123b4  libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/123991.cc
  1825123cdc2a89da27c870140d19f6df  libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/13650.cc
  341f66319a26204336b01dcd1f1b1565  libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/2.cc
  bd5d27b6c1da7f4be96a036ee98cfdc7  libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/3.cc
  d892172578ee0d5468b089850bdcf92b  libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc
+ ec53bc1685fb080b40ba203340985256  libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/123991.cc
  5d726f732ddc53dbbef5e882e4bf47a4  libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/13650.cc
  397affbca97b3f41c20f5554e14b7cfb  libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc
  3f4df1904984cdc6acf7f07255d1cf87  libstdc++-v3/testsuite/21_strings/basic_string/operations/contains/char.cc
diff -Nrcpad gcc-14-20260206/gcc/ChangeLog gcc-14-20260213/gcc/ChangeLog
*** gcc-14-20260206/gcc/ChangeLog	Fri Feb  6 22:32:06 2026
--- gcc-14-20260213/gcc/ChangeLog	Fri Feb 13 22:32:06 2026
***************
*** 1,3 ****
--- 1,25 ----
+ 2026-02-11  Alice Carlotti  <alice.carlotti@arm.com>
+ 
+ 	PR target/123624
+ 	* config/aarch64/aarch64-protos.h
+ 	(aarch64_use_simple_return_insn_p): New.
+ 	* config/aarch64/aarch64.cc
+ 	(aarch64_use_simple_return_insn_p): New, used...
+ 	* config/aarch64/aarch64.md (simple_return): ...here.
+ 
+ 2026-02-06  xiezhiheng  <xiezhiheng@huawei.com>
+ 
+ 	Backported from master:
+ 	2026-02-05  xiezhiheng  <xiezhiheng@huawei.com>
+ 		    liyunfei  <liyunfei33@huawei.com>
+ 
+ 	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Add hip12 core
+ 	* config/aarch64/aarch64-cost-tables.h: Add hip12_extra_costs
+ 	* config/aarch64/aarch64-tune.md: Regenerate
+ 	* config/aarch64/aarch64.cc: Include hip12 tuning model
+ 	* doc/invoke.texi: Document -mcpu=hip12
+ 	* config/aarch64/tuning_models/hip12.h: New file.
+ 
  2026-02-05  Hongyu Wang  <hongyu.wang@intel.com>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260206/gcc/DATESTAMP gcc-14-20260213/gcc/DATESTAMP
*** gcc-14-20260206/gcc/DATESTAMP	Fri Feb  6 22:32:06 2026
--- gcc-14-20260213/gcc/DATESTAMP	Fri Feb 13 22:32:06 2026
***************
*** 1 ****
! 20260206
--- 1 ----
! 20260213
diff -Nrcpad gcc-14-20260206/gcc/config/aarch64/aarch64-protos.h gcc-14-20260213/gcc/config/aarch64/aarch64-protos.h
*** gcc-14-20260206/gcc/config/aarch64/aarch64-protos.h	Fri Feb  6 22:32:06 2026
--- gcc-14-20260213/gcc/config/aarch64/aarch64-protos.h	Fri Feb 13 22:32:07 2026
*************** bool aarch64_uimm12_shift (unsigned HOST
*** 860,865 ****
--- 860,866 ----
  int aarch64_movk_shift (const wide_int_ref &, const wide_int_ref &);
  bool aarch64_is_mov_xn_imm (unsigned HOST_WIDE_INT);
  bool aarch64_use_return_insn_p (void);
+ bool aarch64_use_simple_return_insn_p (void);
  const char *aarch64_output_casesi (rtx *);
  const char *aarch64_output_load_tp (rtx);
  const char *aarch64_output_sme_zero_za (rtx);
diff -Nrcpad gcc-14-20260206/gcc/config/aarch64/aarch64.cc gcc-14-20260213/gcc/config/aarch64/aarch64.cc
*** gcc-14-20260206/gcc/config/aarch64/aarch64.cc	Fri Feb  6 22:32:06 2026
--- gcc-14-20260213/gcc/config/aarch64/aarch64.cc	Fri Feb 13 22:32:07 2026
*************** aarch64_use_return_insn_p (void)
*** 9818,9823 ****
--- 9818,9837 ----
    return known_eq (cfun->machine->frame.frame_size, 0);
  }
  
+ /* Return false for locally streaming functions in order to avoid
+    shrink-wrapping them.  Shrink-wrapping is unsafe when the function prologue
+    and epilogue contain streaming state change, because these implicitly change
+    the meaning of poly_int values.  */
+ 
+ bool
+ aarch64_use_simple_return_insn_p (void)
+ {
+   if (aarch64_cfun_enables_pstate_sm ())
+     return false;
+ 
+   return true;
+ }
+ 
  /* Generate the epilogue instructions for returning from a function.
     This is almost exactly the reverse of the prolog sequence, except
     that we need to insert barriers to avoid scheduling loads that read
diff -Nrcpad gcc-14-20260206/gcc/config/aarch64/aarch64.md gcc-14-20260213/gcc/config/aarch64/aarch64.md
*** gcc-14-20260206/gcc/config/aarch64/aarch64.md	Fri Feb  6 22:32:06 2026
--- gcc-14-20260213/gcc/config/aarch64/aarch64.md	Fri Feb 13 22:32:07 2026
***************
*** 1058,1064 ****
  
  (define_insn "simple_return"
    [(simple_return)]
!   ""
    {
      output_asm_insn ("ret", operands);
      return aarch64_sls_barrier (aarch64_harden_sls_retbr_p ());
--- 1058,1064 ----
  
  (define_insn "simple_return"
    [(simple_return)]
!   "aarch64_use_simple_return_insn_p ()"
    {
      output_asm_insn ("ret", operands);
      return aarch64_sls_barrier (aarch64_harden_sls_retbr_p ());
diff -Nrcpad gcc-14-20260206/gcc/d/ChangeLog gcc-14-20260213/gcc/d/ChangeLog
*** gcc-14-20260206/gcc/d/ChangeLog	Fri Feb  6 22:32:07 2026
--- gcc-14-20260213/gcc/d/ChangeLog	Fri Feb 13 22:32:07 2026
***************
*** 1,3 ****
--- 1,12 ----
+ 2026-02-08  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-02-08  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/124026
+ 	* expr.cc (ExprVisitor::visit (FuncExp *)): Always convert function
+ 	literal to a delegate if the expression expects one.
+ 
  2026-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260206/gcc/d/expr.cc gcc-14-20260213/gcc/d/expr.cc
*** gcc-14-20260206/gcc/d/expr.cc	Fri Feb  6 22:32:07 2026
--- gcc-14-20260213/gcc/d/expr.cc	Fri Feb 13 22:32:08 2026
*************** public:
*** 2032,2058 ****
      /* Compile the declaration.  */
      build_lambda_tree (e->fd, e->type->toBasetype ());
  
!     /* If nested, this will be a trampoline.  */
!     if (e->fd->isNested ())
!       {
! 	tree func = build_address (get_symbol_decl (e->fd));
! 	tree object;
  
! 	if (this->constp_)
  	  {
! 	    /* Static delegate variables have no context pointer.  */
! 	    object = null_pointer_node;
! 	    this->result_ = build_method_call (func, object, e->fd->type);
  	    TREE_CONSTANT (this->result_) = 1;
  	  }
  	else
  	  {
! 	    object = get_frame_for_symbol (e->fd);
  	    this->result_ = build_method_call (func, object, e->fd->type);
  	  }
        }
      else
        {
  	this->result_ = build_nop (build_ctype (e->type),
  				   build_address (get_symbol_decl (e->fd)));
        }
--- 2032,2062 ----
      /* Compile the declaration.  */
      build_lambda_tree (e->fd, e->type->toBasetype ());
  
!     tree func = build_address (get_symbol_decl (e->fd));
!     Type *tb = e->type->toBasetype ();
  
!     /* If a delegate is expected, the literal will be inferred as a delegate
!        even if it accesses no variables from an enclosing function.  */
!     if (tb->ty == TY::Tdelegate)
!       {
! 	/* Static delegate variables have no context pointer.  */
! 	if (this->constp_ || !e->fd->isNested ())
  	  {
! 	    this->result_ = build_method_call (func, null_pointer_node,
! 					       e->fd->type);
  	    TREE_CONSTANT (this->result_) = 1;
  	  }
  	else
  	  {
! 	    gcc_assert (e->fd->isNested ());
! 	    tree object = get_frame_for_symbol (e->fd);
  	    this->result_ = build_method_call (func, object, e->fd->type);
  	  }
        }
      else
        {
+ 	/* The function literal is a function pointer.  */
+ 	gcc_assert (tb->ty == TY::Tpointer);
  	this->result_ = build_nop (build_ctype (e->type),
  				   build_address (get_symbol_decl (e->fd)));
        }
diff -Nrcpad gcc-14-20260206/gcc/testsuite/ChangeLog gcc-14-20260213/gcc/testsuite/ChangeLog
*** gcc-14-20260206/gcc/testsuite/ChangeLog	Fri Feb  6 22:32:08 2026
--- gcc-14-20260213/gcc/testsuite/ChangeLog	Fri Feb 13 22:32:08 2026
***************
*** 1,3 ****
--- 1,16 ----
+ 2026-02-11  Alice Carlotti  <alice.carlotti@arm.com>
+ 
+ 	PR target/123624
+ 	* gcc.target/aarch64/sme/sme-shrinkwrap.c: New test.
+ 
+ 2026-02-08  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-02-08  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/124026
+ 	* gdc.dg/pr124026.d: New test.
+ 
  2026-02-05  Hongyu Wang  <hongyu.wang@intel.com>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260206/gcc/testsuite/gcc.target/aarch64/sme/sme-shrinkwrap.c gcc-14-20260213/gcc/testsuite/gcc.target/aarch64/sme/sme-shrinkwrap.c
*** gcc-14-20260206/gcc/testsuite/gcc.target/aarch64/sme/sme-shrinkwrap.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20260213/gcc/testsuite/gcc.target/aarch64/sme/sme-shrinkwrap.c	Fri Feb 13 22:32:11 2026
***************
*** 0 ****
--- 1,78 ----
+ /* { dg-options "-O3 -fshrink-wrap" } */
+ /* { dg-do run { target { aarch64_sme_hw && aarch64_sve_hw } } } */
+ /* { dg-do compile { target { ! { aarch64_sme_hw && aarch64_sve_hw } } } } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+ 
+ #include <arm_sme.h>
+ 
+ #pragma GCC target "+sve"
+ 
+ [[gnu::noipa]]
+ __arm_streaming
+ int callee (int x)
+ {
+   return 0;
+ }
+ 
+ /*
+ ** foo:
+ **	cbnz	w0, [^\n]*
+ **	cntd	x0
+ **	ret
+ **	...
+ */
+ __arm_streaming
+ int foo(int x)
+ {
+     if (x)
+         return callee(3);
+     return svcntd();
+ }
+ 
+ /*
+ ** bar:
+ **	...
+ **	smstart	[^\n]*
+ **	...
+ ** (
+ **	cntd	[^\n]*
+ **	...
+ **	cbn?z	[^\n]*
+ ** |
+ **	cbn?z	[^\n]*
+ **	...
+ **	cntd	[^\n]*
+ ** )
+ **	...
+ */
+ 
+ __arm_locally_streaming
+ int bar(int x)
+ {
+     if (x)
+         return callee(3);
+     return svcntd();
+ }
+ 
+ /*
+ ** baz:
+ **	cbnz	w0, [^\n]*
+ **	cntd	x0
+ **	ret
+ **	...
+ */
+ __arm_streaming
+ int baz(int x)
+ {
+     if (x)
+         return callee(3);
+     return svcntd();
+ }
+ 
+ [[gnu::noipa]]
+ int main()
+ {
+   if (bar(0) != svcntsd())
+     __builtin_abort();
+   return 0;
+ }
diff -Nrcpad gcc-14-20260206/gcc/testsuite/gdc.dg/pr124026.d gcc-14-20260213/gcc/testsuite/gdc.dg/pr124026.d
*** gcc-14-20260206/gcc/testsuite/gdc.dg/pr124026.d	Thu Jan  1 00:00:00 1970
--- gcc-14-20260213/gcc/testsuite/gdc.dg/pr124026.d	Fri Feb 13 22:32:13 2026
***************
*** 0 ****
--- 1,21 ----
+ // { dg-do compile }
+ struct UDA
+ {
+     int delegate() foo;
+ }
+ 
+ static UDA getUDA(alias S)()
+ {
+     return __traits(getAttributes, S)[0];
+ }
+ 
+ struct S124026
+ {
+     @UDA({ return 42; }) int a;
+ }
+ 
+ void f124026()
+ {
+     S124026 m;
+     enum uda = getUDA!(m.a);
+ }
diff -Nrcpad gcc-14-20260206/libstdc++-v3/ChangeLog gcc-14-20260213/libstdc++-v3/ChangeLog
*** gcc-14-20260206/libstdc++-v3/ChangeLog	Fri Feb  6 22:32:15 2026
--- gcc-14-20260213/libstdc++-v3/ChangeLog	Fri Feb 13 22:32:16 2026
***************
*** 1,3 ****
--- 1,69 ----
+ 2026-02-10  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-11-24  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match):
+ 	Fix lookup for node type.
+ 
+ 2026-02-10  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-11-24  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/122821
+ 	* python/libstdcxx/v6/xmethods.py (_versioned_namespace): Remove
+ 	global variable.
+ 	(is_specialization_of): Do not use _versioned_namespace. Add
+ 	__debug:: to regex.
+ 
+ 2026-02-10  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-02-10  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/123991
+ 	* include/bits/basic_string.h (compare(size_type, size_type, T)):
+ 	Remove noexcept-specifier.
+ 	(compare(size_type, size_type, T, size_type, size_type)):
+ 	Likewise.
+ 	* include/bits/cow_string.h (compare(size_type, size_type, T)):
+ 	Remove noexcept-specifier.
+ 	(compare(size_type, size_type, T, size_type, size_type)):
+ 	Likewise.
+ 	* testsuite/21_strings/basic_string/operations/compare/char/123991.cc:
+ 	New test.
+ 	* testsuite/21_strings/basic_string/operations/compare/wchar_t/123991.cc:
+ 	New test.
+ 
+ 2026-02-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-02-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/124024
+ 	* include/bits/out_ptr.h (out_ptr): Fix doxygen comment to refer
+ 	to the right function.
+ 	(inout_ptr): Improve markup in doxygen comment.
+ 
+ 2026-02-06  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-08-26  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	PR libstdc++/90192
+ 	* include/bits/stl_vector.h (vector<T>::_M_fill_append): Declare.
+ 	(vector<T>::fill): Use _M_fill_append instead of _M_fill_insert.
+ 	* include/bits/vector.tcc (vector<T>::_M_fill_append): Define
+ 	(vector<T>::_M_fill_insert): Delegate to _M_fill_append when
+ 	elements are appended.
+ 	* testsuite/23_containers/vector/modifiers/moveable.cc: Updated
+ 	copycount for inserting at the end (appending).
+ 	* testsuite/23_containers/vector/modifiers/resize.cc: New test.
+ 	* testsuite/backward/hash_set/check_construct_destroy.cc: Updated
+ 	copycount, the hash_set constructor uses insert to fill buckets
+ 	with nullptrs.
+ 
  2026-02-05  Tomasz Kamiński  <tkaminsk@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260206/libstdc++-v3/include/bits/basic_string.h gcc-14-20260213/libstdc++-v3/include/bits/basic_string.h
*** gcc-14-20260206/libstdc++-v3/include/bits/basic_string.h	Fri Feb  6 22:32:15 2026
--- gcc-14-20260213/libstdc++-v3/include/bits/basic_string.h	Fri Feb 13 22:32:16 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_CXX11
*** 3272,3278 ****
  	_GLIBCXX_NODISCARD _GLIBCXX20_CONSTEXPR
  	_If_sv<_Tp, int>
  	compare(size_type __pos, size_type __n, const _Tp& __svt) const
- 	noexcept(is_same<_Tp, __sv_type>::value)
  	{
  	  __sv_type __sv = __svt;
  	  return __sv_type(*this).substr(__pos, __n).compare(__sv);
--- 3272,3277 ----
*************** _GLIBCXX_BEGIN_NAMESPACE_CXX11
*** 3293,3299 ****
  	_If_sv<_Tp, int>
  	compare(size_type __pos1, size_type __n1, const _Tp& __svt,
  		size_type __pos2, size_type __n2 = npos) const
- 	noexcept(is_same<_Tp, __sv_type>::value)
  	{
  	  __sv_type __sv = __svt;
  	  return __sv_type(*this)
--- 3292,3297 ----
diff -Nrcpad gcc-14-20260206/libstdc++-v3/include/bits/cow_string.h gcc-14-20260213/libstdc++-v3/include/bits/cow_string.h
*** gcc-14-20260206/libstdc++-v3/include/bits/cow_string.h	Fri Feb  6 22:32:15 2026
--- gcc-14-20260213/libstdc++-v3/include/bits/cow_string.h	Fri Feb 13 22:32:16 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 2847,2853 ****
        template<typename _Tp>
  	_If_sv<_Tp, int>
  	compare(size_type __pos, size_type __n, const _Tp& __svt) const
- 	noexcept(is_same<_Tp, __sv_type>::value)
  	{
  	  __sv_type __sv = __svt;
  	  return __sv_type(*this).substr(__pos, __n).compare(__sv);
--- 2847,2852 ----
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 2867,2873 ****
  	_If_sv<_Tp, int>
  	compare(size_type __pos1, size_type __n1, const _Tp& __svt,
  		size_type __pos2, size_type __n2 = npos) const
- 	noexcept(is_same<_Tp, __sv_type>::value)
  	{
  	  __sv_type __sv = __svt;
  	  return __sv_type(*this)
--- 2866,2871 ----
diff -Nrcpad gcc-14-20260206/libstdc++-v3/include/bits/out_ptr.h gcc-14-20260213/libstdc++-v3/include/bits/out_ptr.h
*** gcc-14-20260206/libstdc++-v3/include/bits/out_ptr.h	Fri Feb  6 22:32:15 2026
--- gcc-14-20260213/libstdc++-v3/include/bits/out_ptr.h	Fri Feb 13 22:32:16 2026
*************** namespace __detail
*** 395,401 ****
     * @tparam _Pointer The type of pointer to convert to.
     * @param __s The pointer that should take ownership of the result.
     * @param __args... Arguments to use when resetting the smart pointer.
!    * @return A std::inout_ptr_t referring to `__s`.
     * @since C++23
     * @headerfile <memory>
     */
--- 395,401 ----
     * @tparam _Pointer The type of pointer to convert to.
     * @param __s The pointer that should take ownership of the result.
     * @param __args... Arguments to use when resetting the smart pointer.
!    * @return A `std::out_ptr_t` referring to `__s`.
     * @since C++23
     * @headerfile <memory>
     */
*************** namespace __detail
*** 416,422 ****
     * @tparam _Pointer The type of pointer to convert to.
     * @param __s The pointer that should take ownership of the result.
     * @param __args... Arguments to use when resetting the smart pointer.
!    * @return A std::inout_ptr_t referring to `__s`.
     * @since C++23
     * @headerfile <memory>
     */
--- 416,422 ----
     * @tparam _Pointer The type of pointer to convert to.
     * @param __s The pointer that should take ownership of the result.
     * @param __args... Arguments to use when resetting the smart pointer.
!    * @return A `std::inout_ptr_t` referring to `__s`.
     * @since C++23
     * @headerfile <memory>
     */
diff -Nrcpad gcc-14-20260206/libstdc++-v3/python/libstdcxx/v6/xmethods.py gcc-14-20260213/libstdc++-v3/python/libstdcxx/v6/xmethods.py
*** gcc-14-20260206/libstdc++-v3/python/libstdcxx/v6/xmethods.py	Fri Feb  6 22:32:15 2026
--- gcc-14-20260213/libstdc++-v3/python/libstdcxx/v6/xmethods.py	Fri Feb 13 22:32:16 2026
*************** def get_bool_type():
*** 28,35 ****
  def get_std_size_type():
      return gdb.lookup_type('std::size_t')
  
- _versioned_namespace = '__8::'
- 
  def is_specialization_of(x, template_name):
      """
      Test whether a type is a specialization of the named class template.
--- 28,33 ----
*************** def is_specialization_of(x, template_nam
*** 39,46 ****
      """
      if isinstance(x, gdb.Type):
          x = x.tag
!     template_name = '(%s)?%s' % (_versioned_namespace, template_name)
!     return re.match(r'^std::(__\d::)?%s<.*>$' % template_name, x) is not None
  
  class LibStdCxxXMethod(gdb.xmethod.XMethod):
      def __init__(self, name, worker_class):
--- 37,43 ----
      """
      if isinstance(x, gdb.Type):
          x = x.tag
!     return re.match(r'^std::(__\d::|__debug::)?%s<.*>$' % template_name, x) is not None
  
  class LibStdCxxXMethod(gdb.xmethod.XMethod):
      def __init__(self, name, worker_class):
*************** class ListMethodsMatcher(gdb.xmethod.XMe
*** 445,451 ****
          if method is None or not method.enabled:
              return None
          val_type = class_type.template_argument(0)
!         node_type = gdb.lookup_type(str(class_type) + '::_Node').pointer()
          return method.worker_class(val_type, node_type)
  
  # Xmethods for std::vector
--- 442,448 ----
          if method is None or not method.enabled:
              return None
          val_type = class_type.template_argument(0)
!         node_type = gdb.lookup_type(str(class_type) + '::_Node_ptr')
          return method.worker_class(val_type, node_type)
  
  # Xmethods for std::vector
diff -Nrcpad gcc-14-20260206/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/123991.cc gcc-14-20260213/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/123991.cc
*** gcc-14-20260206/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/123991.cc	Thu Jan  1 00:00:00 1970
--- gcc-14-20260213/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/123991.cc	Fri Feb 13 22:32:16 2026
***************
*** 0 ****
--- 1,56 ----
+ // { dg-do run { target c++17 } }
+ 
+ // Bug 123991 - std::string::compare crashes instead of throwing
+ 
+ #include <string>
+ #include <string_view>
+ #include <stdexcept>
+ #include <testsuite_hooks.h>
+ 
+ void
+ test_compare_3arg()
+ {
+   std::string_view sv;
+   std::string s;
+   static_assert( ! noexcept(s.compare(0, 0, sv)) );
+ #ifdef __cpp_exceptions
+   try
+   {
+     (void) s.compare(1, 0, sv);
+     VERIFY(false);
+   }
+   catch (const std::out_of_range&)
+   { }
+ #endif
+ }
+ 
+ void
+ test_compare_5arg()
+ {
+   std::string_view sv;
+   std::string s;
+   static_assert( ! noexcept(s.compare(0, 0, sv, 0, 0)) );
+ #ifdef __cpp_exceptions
+   try
+   {
+     (void) s.compare(1, 0, sv, 0, 0);
+     VERIFY(false);
+   }
+   catch (const std::out_of_range&)
+   { }
+ 
+   try
+   {
+     (void) s.compare(0, 0, sv, 1, 0);
+     VERIFY(false);
+   }
+   catch (const std::out_of_range&)
+   { }
+ #endif
+ }
+ 
+ int main()
+ {
+   test_compare_3arg();
+   test_compare_5arg();
+ }
diff -Nrcpad gcc-14-20260206/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/123991.cc gcc-14-20260213/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/123991.cc
*** gcc-14-20260206/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/123991.cc	Thu Jan  1 00:00:00 1970
--- gcc-14-20260213/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/123991.cc	Fri Feb 13 22:32:16 2026
***************
*** 0 ****
--- 1,56 ----
+ // { dg-do run { target c++17 } }
+ 
+ // Bug 123991 - std::string::compare crashes instead of throwing
+ 
+ #include <string>
+ #include <string_view>
+ #include <stdexcept>
+ #include <testsuite_hooks.h>
+ 
+ void
+ test_compare_3arg()
+ {
+   std::wstring_view sv;
+   std::wstring s;
+   static_assert( ! noexcept(s.compare(0, 0, sv)) );
+ #ifdef __cpp_exceptions
+   try
+   {
+     (void) s.compare(1, 0, sv);
+     VERIFY(false);
+   }
+   catch (const std::out_of_range&)
+   { }
+ #endif
+ }
+ 
+ void
+ test_compare_5arg()
+ {
+   std::wstring_view sv;
+   std::wstring s;
+   static_assert( ! noexcept(s.compare(0, 0, sv, 0, 0)) );
+ #ifdef __cpp_exceptions
+   try
+   {
+     (void) s.compare(1, 0, sv, 0, 0);
+     VERIFY(false);
+   }
+   catch (const std::out_of_range&)
+   { }
+ 
+   try
+   {
+     (void) s.compare(0, 0, sv, 1, 0);
+     VERIFY(false);
+   }
+   catch (const std::out_of_range&)
+   { }
+ #endif
+ }
+ 
+ int main()
+ {
+   test_compare_3arg();
+   test_compare_5arg();
+ }
