Then the bug report is wrong, and disregard the second and third posts I made. They depend on the bug report not being wrong.
My first post is generic and not about this particular issue; it's still fine.
My first post is generic and not about this particular issue; it's still fine.
For example, Darwin's libc offers this contract for memcpy and clang is perfectly within its rights to generate such code (note that the IR it generates is still violating LLVM's contract on the memcpy intrinsic); glibc offers no such contract for memcpy, and so clang's code is nonconformant.