Comment by hathawsh

Comment by hathawsh 2 days ago

2 replies

It does change the semantics if n is negative or large enough to cause an overflow. The challenge for the compiler is to somehow prove that neither of those things can happen.

kryptiskt 2 days ago

It doesn't have to prove absence of overflow since that is undefined behavior in C and thus modern compilers assume it can never happen.