It can get rid of checks that test whether the results of a previous operation have overflowed. It can't eliminate checks that test whether a subsequent operation will overflow and abort because that would be changing semantics.
C is an absolute minefield of undefined behavior, but let's be accurate about the things it does wrong.
C is an absolute minefield of undefined behavior, but let's be accurate about the things it does wrong.