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.

Reply via email to