Earlier quoted context omitted.
Since dereferencing a null pointer and dividing by 0 are undefined by C, is the compiler required to emit the code for them? In practice, does it?
In practice, (int )0 (how do I escape asterisks on HN?) and similar are popular idioms for "segfault here". Making them break is not an optimization any compiler maintainer would bother to make - it requires a special case and there don't seem to be any benefits to justify the effort.
See the series of articles starting with http://blog.llvm.org/2011/05/what-every-c-programmer-should-...