https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80344
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target| |arm Status|UNCONFIRMED |NEW Last reconfirmed| |2017-04-07 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. The IL we warn about is B::B() (struct B * const this) { struct { ._0 e; int i; int j; } D.4784; <bb 2> [100.00%]: D.4784 ={v} {CLOBBER}; MEM[(struct &)this_2(D)] = D.4784; return this_2(D); and we warn about the MEM[(struct &)this_2(D)] = D.4784; assignment. The warning is clearly correct as the A members are not initialized. Did you reduce a testcase too far?