blob: eff5b62db2892988e9ba990425040f65c7453953 [file] [log] [blame]
// PR c++/90996
// { dg-do run { target c++14 } }
struct S
{
int &&a = 2;
int b[1] {a};
};
S c[2][2] {{{5}}};
struct T
{
S c[2][2] {{{7}}};
};
T d {};
int
main()
{
if (++c[0][0].b[0] != 6
|| ++c[0][1].b[0] != 3
|| ++c[1][0].b[0] != 3
|| ++c[1][1].b[0] != 3)
__builtin_abort();
auto& e = d.c;
if (++e[0][0].b[0] != 8
|| ++e[0][1].b[0] != 3
|| ++e[1][0].b[0] != 3
|| ++e[1][1].b[0] != 3)
__builtin_abort();
}