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

--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> ---
Well, lying means that for non-escaped desctiptors A and B doing

  A.data = malloc();
  gfc_desc_to_cfi_desc (&B, &A)

B.data and A.data are not considered aliasing.

So I'd recommend to not lie here.  Yes, there's a letter variant missing
for 'r' plus the direct object not escaping.  I can see how that might
be useful indeed (but with points-to constructing a testcase where this
makes a difference won't be easy).

So I'd recommend ".w." for correctness, maybe with a comment about what
we can guarantee (we also have no "letter" to say indirect pointed-to
objects transfer from one argument to another, likely usable for
memcpy-like functions as well for example)

Reply via email to