https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955
--- Comment #22 from fiesh at zefix dot tv ---
And reduced somewhat more by hand, no idea why cvise couldn't figure this out:
-----8<-----
struct h {
int g;
constexpr h() : g() {}
};
struct n {
h m{};
};
struct H {
int p[6]{0, 1, 2, 3, 4, 5};
n o;
};
void q(H &r) { r = {}; }
-----8<-----
Strange behavior:
Removing h's ctor makes 14 and 15 consume 0 data.
`default`ing h's ctor makes *both* 14 and 15 consume 14 bytes of data.
Having h's ctor as above only makes 15 consume 14 bytes of data.