aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2024-01-09 16:19:20 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2024-08-21 10:17:00 +0100
commitfd7dabc116b9abc40ee6aa25bcc5d240b8cc516a (patch)
tree9779ad8a05dd1cec7ed4f4c8823951bbb970dc56
parent878bb62cfc158b5324cc2b2476f92fb4237fd82a (diff)
downloadgcc-fd7dabc116b9abc40ee6aa25bcc5d240b8cc516a.zip
gcc-fd7dabc116b9abc40ee6aa25bcc5d240b8cc516a.tar.gz
gcc-fd7dabc116b9abc40ee6aa25bcc5d240b8cc516a.tar.bz2
libstdc++: Use strlen for std::char_traits<char8_t>::length [PR102958]
libstdc++-v3/ChangeLog: PR tree-optimization/102958 * include/bits/char_traits.h (char_traits<char8_t>::length): Use strlen.
-rw-r--r--libstdc++-v3/include/bits/char_traits.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/libstdc++-v3/include/bits/char_traits.h b/libstdc++-v3/include/bits/char_traits.h
index 3074e9b..ac3e43e 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*