| // PR c++/79937 | |
| // { dg-do run { target c++14 } } | |
| struct X { | |
| unsigned i; | |
| unsigned n = i; | |
| }; | |
| X | |
| bar (X x) | |
| { | |
| return x; | |
| } | |
| struct Y | |
| { | |
| static Y bar (Y y) { return y; } | |
| unsigned i; | |
| unsigned n = bar (Y{2,i}).n; | |
| }; | |
| int | |
| main () | |
| { | |
| X x { 1, bar (X{2}).n }; | |
| if (x.n != 2) | |
| __builtin_abort (); | |
| Y y { 1 }; | |
| if (y.n != 1) | |
| __builtin_abort (); | |
| } |