upvote
Clang/LLVM at least treats this as UB, not as implementation defined behaviour however according to an LLVM dev
reply