From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandre Oliva To: Torbjorn Granlund 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:20:00 -0000 Message-id: References: <718D38CAB6E0D011B2C90060970C28A5642545@EXCHANGESERVER> <86hf3pm8s6.fsf@king.swox.se> X-SW-Source: 2000-12/msg00788.html On Dec 28, 2000, Torbjorn Granlund wrote: > 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. Indeed. But I don't think pointers are unsigned by default, are they? -- Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/ Red Hat GCC Developer aoliva@{cygnus.com, redhat.com} CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org} Free Software Evangelist *Please* write to mailing lists, not to me