https://gcc.gnu.org/g:f739d07b45ae13dbbb350516be0a0c6dfb783ea0
commit r16-4162-gf739d07b45ae13dbbb350516be0a0c6dfb783ea0 Author: Jonathan Wakely <[email protected]> Date: Wed Oct 1 13:11:38 2025 +0100 libstdc++: Fix sizeof(wide-string)-1 bug in std::regex test This uses sizeof on a wide string to get the length, which is wrong because each wchar_t is more than one byte. This was presumably copied from a narrow char test. libstdc++-v3/ChangeLog: * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Use wcslen(cs) instead of sizeof(cs)-1. Reviewed-by: Tomasz KamiĆski <[email protected]> Diff: --- libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc index 2e9dea13a774..91e55129908c 100644 --- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc +++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc @@ -23,6 +23,7 @@ // [28.8.3] class template basic_regex assign() #include <regex> +#include <cwchar> // Tests assign operation from a Pascal-style counted-string. void test01() @@ -31,7 +32,7 @@ void test01() const wchar_t cs[] = L"aab"; test_type re; - re.assign(cs, sizeof(cs)-1, std::regex_constants::basic); + re.assign(cs, std::wcslen(cs), std::regex_constants::basic); } int
