]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Use strlen for std::char_traits<char8_t>::length [PR102958]
authorJonathan Wakely <jwakely@redhat.com>
Tue, 9 Jan 2024 16:19:20 +0000 (16:19 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 21 Aug 2024 09:17:00 +0000 (10:17 +0100)
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

index 3074e9bb77e25d2ecfeee8190bf686c4291fa933..ac3e43e34b96f6da83b7756e0f3c4cf8e8a836f8 100644 (file)
@@ -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*