[PATCH] libstdc++: Use strlen for std::char_traits<char8_t>::length [PR102958]
Jonathan Wakely
jwakely@redhat.com
Thu Aug 1 21:32:28 GMT 2024
Tested x86_64-linux.
-- >8 --
libstdc++-v3/ChangeLog:
PR tree-optimization/102958
* include/bits/char_traits.h (char_traits<char8_t>::length): Use
strlen.
---
libstdc++-v3/include/bits/char_traits.h | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/libstdc++-v3/include/bits/char_traits.h b/libstdc++-v3/include/bits/char_traits.h
index 3074e9bb77e..ac3e43e34b9 100644
--- a/libstdc++-v3/include/bits/char_traits.h
+++ b/libstdc++-v3/include/bits/char_traits.h
@@ -651,10 +651,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
if (std::__is_constant_evaluated())
return __gnu_cxx::char_traits<char_type>::length(__s);
#endif
- size_t __i = 0;
- while (!eq(__s[__i], char_type()))
- ++__i;
- return __i;
+ return __builtin_strlen((const char*)__s);
}
static _GLIBCXX17_CONSTEXPR const char_type*
--
2.45.2
More information about the Libstdc++
mailing list