https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49872
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=36602 Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot gnu.org --- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I am going to handle this since I have seen this in other places. Note we also need to handle: ``` MEM <unsigned long> [(char * {ref-all})&z] = 0; MEM <unsigned char[24]> [(char * {ref-all})&z + 8B] = {}; ``` Which can show up via: ``` char z[32]; void foo1(void) { char z1[8]; char z2[24]; __builtin_memset (z1, 0, 8); __builtin_memcpy (z, z1, 8); __builtin_memset (z2, 0, 24); __builtin_memcpy (z+8, z2, 24); } ``` Or after PR 36602 is handled.