From mboxrd@z Thu Jan 1 00:00:00 1970 From: Torbjorn Granlund To: Alexandre Oliva Cc: Peter Osterlund , David Korn , "'Denis Chertykov'" , gcc@gcc.gnu.org Subject: Re: Bug in loop optimize (invalid postinc to preinc transformation) Date: Wed, 27 Dec 2000 21:09:00 -0000 Message-id: <86hf3pm8s6.fsf@king.swox.se> References: <718D38CAB6E0D011B2C90060970C28A5642545@EXCHANGESERVER> X-SW-Source: 2000-12/msg00787.html Alexandre Oliva writes: On Dec 27, 2000, Peter Osterlund wrote: > Compiling without optimization indicates that the compiler is > transforming (p++ < x) into (++p < (x+1)), even when not optimizing. > This transformation is incorrect because x+1 wraps around. Overflow invokes undefined behavior. Since incrementing p in this case involves overflow, I think the transformation is ok, as far as undefined behavior goes. Overflow of *unsigned* types is well-defined. -- Torbjörn