From: Jonathan Wakely Date: Tue, 9 Jan 2024 16:19:20 +0000 (+0000) Subject: libstdc++: Use strlen for std::char_traits::length [PR102958] X-Git-Tag: basepoints/gcc-16~6485 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fd7dabc116b9abc40ee6aa25bcc5d240b8cc516a;p=thirdparty%2Fgcc.git libstdc++: Use strlen for std::char_traits::length [PR102958] libstdc++-v3/ChangeLog: PR tree-optimization/102958 * include/bits/char_traits.h (char_traits::length): Use strlen. --- 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::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*