https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82764
--- Comment #9 from Jason Merrill <jason at gcc dot gnu.org> --- Moving b out of the function reproduces the bug on x86_64 as well: struct Empty {}; struct Empty2 : Empty {}; struct A : Empty2 { int x {1}; int y {2}; }; struct B { A a {}; }; B b;