Is overflow of abs well defined?
<p>Is the behavior of the following code well defined?</p>

<pre><code>int32_t i = -0x80000000;
uint32_t u = abs(i);
</code></pre>

<p>There may be an overflow/underflow on the first line. But on platforms when that is ok, does the second line have defined behavior?</p>
