[Bug libstdc++/93059] char and char8_t does not talk with each other with memcpy. std::copy std::copy_n, std::fill, std::fill_n, std::uninitialized_copy std::uninitialized_copy_n, std::fill, std::uninitialized_fill_n fails to convert to memxxx functions

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Mar 2 16:49:00 GMT 2020


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

--- Comment #38 from Jonathan Wakely <redi at gcc dot gnu.org> ---
We could also use memcmp for std::equal when it's using std::equal_to<> or
std::equal_to<_ValueType1> or std::equal_to<_ValueType2>, and for
std::lexicographical_compare when it's using std::less<> or
std::less<_ValueType1> or std::less<_ValueType2> (as long as the existing
conditions are also met).

Currently we only use memcmp when those algos are used without a comparison
function.


More information about the Gcc-bugs mailing list