is k = i+j valid C? Can it be translated sensibly to add i,j; jump on overflow to random; store k; ?
How about sometimes omitting the jump to random and sometimes not?
If you want to add a definition for signed integer overflow (as C++ is considering, see http://wg21.link/P0907r0 ) then it would be defined and the compiler would no longer get to consider "if signed overflow" and "if false" the same.