================ @@ -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