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

--- Comment #6 from Dmitry G. Dyachenko <dimhen at gmail dot com> ---
(In reply to Richard Biener from comment #5)
> 
> Where does this obfuscated 'return *(e->pu)' come from?

If I remove aggregate then there are no warning.


i.e. this code produce no warning

mytype f(mytype *pu)
{
  mytype x;
  if(&x != pu)
    __builtin_memcpy(&x, pu, sizeof(unsigned));
  return x;
}

Reply via email to