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