This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Bug in loop optimize (invalid postinc to preinc transformation)


On Dec 28, 2000, Torbjorn Granlund <tege@swox.com> wrote:

> Alexandre Oliva <aoliva@redhat.com> writes:
>   On Dec 27, 2000, Peter Osterlund <peter.osterlund@mailbox.swipnet.se> 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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]