https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955

--- Comment #16 from Richard Biener <rguenth at gcc dot gnu.org> ---
One reason for why realloc is "hard" is that there is no language that says
it is undefined to access the object via the old pointer, but there is only
language that says the old and the new pointer values may be equal.  Thus,

void foo (int *p)
{
  int *q = realloc (p, sizeof (int));
  *q = 2;
}

may I remove the store *q = 2 as dead?  The new pointer doesn't escape
and thus nothing can read from it ...

Reply via email to