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

Reply via email to