https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115693

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Xi Ruoyao from comment #1)
> So it makes more sense to fix this in the optimization passes, instead of
> ad-hoc hack in libstdc++.

Yes, I agree, although we already have the hack in libstdc++ it just doesn't
work for std::byte:


--- a/libstdc++-v3/include/bits/stl_algobase.h
+++ b/libstdc++-v3/include/bits/stl_algobase.h
@@ -1232,6 +1232,9 @@ _GLIBCXX_END_NAMESPACE_CONTAINER
       const bool __simple = ((__is_integer<_ValueType1>::__value
 #if _GLIBCXX_USE_BUILTIN_TRAIT(__is_pointer)
                              || __is_pointer(_ValueType1)
+#endif
+#if __glibcxx_byte
+                             || __is_same(byte, _ValueType1)
 #endif
                             ) && __memcmpable<_II1, _II2>::__value);
       return std::__equal<__simple>::equal(__first1, __last1, __first2);



> But I'm not sure if there already exists a dup.

The bug reported here is an exact dup of Bug 101485

Reply via email to