c/10339: strncmp generates imPure code
Michael Ubell
ubell@mindspring.com
Mon Apr 7 20:53:00 GMT 2003
I think I see what is happening. I guess computers are smarter ;-)
Andreas Schwab wrote:
> Michael Ubell <ubell@mindspring.com> writes:
>
> |> Do you mean you want me to set up a case where it runs off the
> |> end of memory?
>
> Yes.
Can't happen.
>
> |> I think it is sufficient that it is reading memory
> |> that is not allocated, no?
>
> No, it is not.
Well it would be but memcmp does not read the memory.
>
> It is. Memory returned by malloc is required to be correctly aligned for
> any type.
>
I'm still not clear what alignment has to do with it.
The optimization takes advantage of the fact that a properly formatted
string which is shorter than the constant string cannot compare passed its
end because there must be a null byte there.
Purify must have a different model of what memcmp does. I'll send
it to them.
Thanks
Mike
More information about the Gcc-bugs
mailing list