Paul Koning wrote:
That said, it certainly is helpful if the compiler can detect some undefined actions and warn about them. But that doesn't create a duty to warn about all of them.
If it were reasonable to require a compiler to generate a warning for a particular case, the standard would have made it an error. The whole point in allowing undefined behavior is that in certain cases, it is too onerous for a compiler to be required to detect the undefined behavior, so it is not required to do so.