On Thu, Feb 15, 2018 at 3:51 PM, Hubert Tong <hubert.reinterpretcast@gmail.com> wrote:
On Thu, Feb 15, 2018 at 6:44 PM, David Vandevoorde <daveed@edg.com> wrote:
> On Feb 15, 2018, at 5:14 PM, Myria <myriachan@gmail.com> wrote:
>
> I'm personally on the side of defining signed overflow as wrapping,
> but compiler people do have a point that it would inhibit
> optimizations in certain cases involving signed integers.

My understanding is that it kills a significant optimization opportunity (that is currently taken advantage of by compilers).
I also believe that it makes it harder for tooling to flag unintentional signed overflow.

Yes.

I am considering writing a response to JF's P0907 in which I would propose "just the good bits" — namely, remove sign-magnitude and ones'-complement from the standard, and perhaps give defined behavior to (-1 << 1) and (-1 >> 1), but conservatively retain the undefined behavior of (INT_MAX + 1) and (1 << 100). I think such a conservative proposal might stand a chance these days; it feels analogous to the removal of trigraphs.
Defining (INT_MAX+1 == INT_MIN), as proposed by P0907? No, that will never happen in a million years.

However, I personally will not be at JAX, and if someone beats me to writing this paper, I will not be upset. :)

–Arthur