https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123991
--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jonathan Wakely <[email protected]>: https://gcc.gnu.org/g:0912dfcd1e901d7dc1ff5e10528eefe3f3ff7b22 commit r16-7433-g0912dfcd1e901d7dc1ff5e10528eefe3f3ff7b22 Author: Jonathan Wakely <[email protected]> Date: Mon Feb 9 10:48:44 2026 +0000 libstdc++: Fix incorrect noexcept on string::compare overloads [PR123991] These compare overloads throw when the pos index is out of range, not only when the const T& parameter throws on conversion to string_view. Remove the incorrect conditional noexcept-specifier from the two overloads that can throw. libstdc++-v3/ChangeLog: 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. Reviewed-by: Nathan Myers <[email protected]>
