Bug in loop optimize (invalid postinc to preinc transformation)
Jamie Lokier
egcs@tantalophile.demon.co.uk
Fri Dec 29 18:36:00 GMT 2000
Robert Dewar wrote:
> <<Overflow of unsigned integers has defined behaviour -- they wrap. The
> question is, what rule applies to pointer comparisons?
> >>
>
> This is a malformed question. Any pointer increment is constrained
> to require that the resulting pointer be valid. Wrapping is simply
> not an issue.
>
> If p points to a valid address in an allocated array, then P+1 is also
> valid, and there is no question of wrap. But P+2 may be beyond the
> array and therefore ill-defined, and this has nothing to do with wrapping.
Quite. There's a pointer constant in the offending code. It's not in
any array. Do we offer implementation defined behaviour for numerical
pointer constants or not? They do come in useful occasionally.
-- Jamie
More information about the Gcc
mailing list