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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |redi at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Compared to the first testcase, we do handle
struct S { char buf[8]; };
void bar (struct S *);

void
foo (void)
{
  struct S s;
  int a = 0;
  __builtin_memcpy (&s.buf[4], &a, sizeof (int));
  s.buf[0] = 5;
  s.buf[1] = 2;
  s.buf[2] = 3;
  s.buf[3] = 2;
  s.buf[5] = 7;
  bar (&s);
}

though, because the store is in that case MEM[&s + 4B] = {} and thus valid for
lhs.

Reply via email to