<div><br><div class="gmail_quote"><div dir="auto">On Sun, Feb 18, 2018 at 9:48 PM Lawrence Crowl &lt;<a href="mailto:Lawrence@crowl.org">Lawrence@crowl.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 2/16/18, Freek Wiedijk &lt;<a href="mailto:freek@cs.ru.nl" target="_blank">freek@cs.ru.nl</a>&gt; wrote:<br>
&gt; Is there a good reason not to have it be implementation defined<br>
&gt; whether signed overflow is undefined or wrapping?<br>
<br>
If integer overflow is undefined behavior, then it is wrong. Tools can<br>
detect wrong programs and report them.<br>
<br>
If integer overflow is wrapping, then one never knows whether or<br>
not the programmer is relying on wrapper or would be surprised at<br>
wrapping.  No diagnostic is possible.</blockquote><div dir="auto"><br></div><div dir="auto">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?</div><div dir="auto"><br></div><div dir="auto">There are many ways we can design this. I proposed the one I find more palatable, expecting others to disagree. </div><div dir="auto"><br></div><div dir="auto">It would be great for a solid reasoning to emerge on the design. </div></div></div>