3 ms·
> Additionally, there's less of a difference between "undefined" and "implementation defined" than you might think. No. If `x + y < x` is "implementation defin
by tomp 10y ago
> Additionally, there's less of a difference between "undefined" and "implementation defined" than you might think.
No. If `x + y < x` is "implementation defined", then an "undef" value would never even come into existence!
- pcwalton 10y agoA compiler can legally rewrite the expression into "(uint64_t)x + (uint64_t)y > UINT_MAX ? undef : true" per the rule suggested by nkurz. This makes the undef value show up.