Date: Mon, 19 Feb 2018 05:52:00 +0000
On Sun, Feb 18, 2018 at 9:48 PM Lawrence Crowl <Lawrence_at_[hidden]> wrote:
> On 2/16/18, Freek Wiedijk <freek_at_[hidden]> wrote:
> > Is there a good reason not to have it be implementation defined
> > whether signed overflow is undefined or wrapping?
>
> If integer overflow is undefined behavior, then it is wrong. Tools can
> detect wrong programs and report them.
>
> If integer overflow is wrapping, then one never knows whether or
> not the programmer is relying on wrapper or would be surprised at
> wrapping. No diagnostic is possible.
No disagreement. I wrote the paper the way I did because I want that
discussion to conclude what the default should be, and what the more
verbose alternate should be: UB or two’s complement?
There are many ways we can design this. I proposed the one I find more
palatable, expecting others to disagree.
It would be great for a solid reasoning to emerge on the design.
> On 2/16/18, Freek Wiedijk <freek_at_[hidden]> wrote:
> > Is there a good reason not to have it be implementation defined
> > whether signed overflow is undefined or wrapping?
>
> If integer overflow is undefined behavior, then it is wrong. Tools can
> detect wrong programs and report them.
>
> If integer overflow is wrapping, then one never knows whether or
> not the programmer is relying on wrapper or would be surprised at
> wrapping. No diagnostic is possible.
No disagreement. I wrote the paper the way I did because I want that
discussion to conclude what the default should be, and what the more
verbose alternate should be: UB or two’s complement?
There are many ways we can design this. I proposed the one I find more
palatable, expecting others to disagree.
It would be great for a solid reasoning to emerge on the design.
Received on 2018-02-19 06:52:13