I believe in many cases in C, you would need to insert runtime checks (and I believe gcc&#x2F;clang has a flag for inserting these when statically checking for it is infeasible).<p>One such behavior which is considered undefined is signed integer overflow&#x2F;underflow. Without this being undefined, some important loop optimizations would not be possible [1]. The blog link below has lots of information about undefined behavior from the perspective of a compiler implementer.<p>[1] <a href="http:&#x2F;&#x2F;blog.llvm.org&#x2F;2011&#x2F;05&#x2F;what-every-c-programmer-should-know.html" rel="nofollow">http:&#x2F;&#x2F;blog.llvm.org&#x2F;2011&#x2F;05&#x2F;what-every-c-programmer-should-...</a>