================
@@ -102,7 +102,7 @@ struct __aliasing_iterator_wrapper {
 
     _LIBCPP_HIDE_FROM_ABI _Alias operator*() const _NOEXCEPT {
       _Alias __val;
-      __builtin_memcpy(&__val, std::__to_address(__base_), sizeof(value_type));
+      __builtin_memcpy(&__val, static_cast<const 
void*>(std::__to_address(__base_)), sizeof(value_type));
----------------
philnik777 wrote:

Well, cppreference isn't exactly normative. Anyways, where is the actual 
disconnect? Is it whether you're allowed to
- inspect the bytes of a non-trivially copyable object
- implicitly start the lifetime of a trivial type with bytes from a different 
object
- do any of the above via `memcpy`
- do the above together in a single `memcpy`
- something else?


https://github.com/llvm/llvm-project/pull/111434
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to