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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2021-07-29 00:00:00         |2025-1-31

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Re-confirmed.  It works with

struct S { int i; int j; };
int foo (struct S *p)
{
  struct S s = *p;
  if (p->i != s.i)
    return 1;
  return 0;
}

so it depends on which ref is seen first.  When s.i is seen second
upon seeing the aggregate copy we look up p->i and find it.  But the
other way around we don't find p->i but we also do not insert it so
a later p->i lookup can find it.

Reply via email to