]>
git.ipfire.org Git - thirdparty/gcc.git/commit
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 <nmyers@redhat.com>