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

--- Comment #7 from Richard Henderson <rth at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #5)
> I still say this is undefined even with -fno-strict-aliasing because
> patching a function is undefined.

Oh please.  I think that's short-sighted.

I don't see how this differs materially from e.g.

  const int x;
  void f(void) { *(int *)&x = 1; }

and we don't delete that store.

We need a mode in which it's possible to do things that aren't
valid in "normal" C.  We've more-or-less settled on -fn-s-a as
an escape whereby treating all memory as a collection of bytes
is valid.

Reply via email to