1 // PR c++/19808 2 // { dg-do compile { target c++11 } } 3 // { dg-options "-Wuninitialized" } 4 5 struct A { 6 int m; getA7 int get() const { return m; } 8 AA9 A() : m{} { } AA10 A(int) { } AA11 A(const A &) { } AA12 A(A *) { } 13 }; 14 15 struct S { 16 A a, b; 17 SS18 S(int (*)[1]) : a() {} SS19 S(int (*)[2]) : b(a.get()) {} SS20 S(int (*)[3]) : b(a) {} SS21 S(int (*)[4]) : a(&a) {} 22 }; 23 24 struct R { 25 A a, b; 26 RR27 R(int (*)[1]) : a{} {} RR28 R(int (*)[2]) : b{a.get()} {} RR29 R(int (*)[3]) : b{a} {} RR30 R(int (*)[4]) : a{&a} {} 31 }; 32