Michael Matz wrote:
While it's true that with signed arithmetic we are allowed to simply break, such behaviour can (and in this case indeed does) point out a real problem in the optimizers, so its often a bit too hasty to ignore a problem just because the source code is not totally conformant.
Interesting, though to be fair, David a couple of times said that it would be a good idea to try this code again with unsigned :-)