Surely undefined behaviour in a language specification is by definition implementation defined?<p>Now the definition could vary between doing something that seems obviously correct, crashing or even deleting every file on your disk but whatever it does is up to the compiler implementer.