[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
Tue Mar 3 09:57:00 GMT 2020


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

--- Comment #43 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to fdlbxtqi from comment #39)
> const auto __c = __builtin_memcmp(&*__first1, &*__first2, __len) <=> 0;

Are you mistakenly reading this as dereferencing &*begin and &*end of an
iterator range? Because that's not what it does. It dereferences the begin
iterator of two separate non-empty ranges.

There is no past-the-end iterator in this statement.


More information about the Gcc-bugs mailing list