// PR c++/19808 | |
// { dg-do compile { target c++11 } } | |
// { dg-options "-Wuninitialized" } | |
struct A { | |
int m; | |
int get() const { return m; } | |
A() : m{} { } | |
A(int) { } | |
A(const A &) { } | |
A(A *) { } | |
}; | |
struct S { | |
A a, b; | |
S(int (*)[1]) : a() {} | |
S(int (*)[2]) : b(a.get()) {} | |
S(int (*)[3]) : b(a) {} | |
S(int (*)[4]) : a(&a) {} | |
}; | |
struct R { | |
A a, b; | |
R(int (*)[1]) : a{} {} | |
R(int (*)[2]) : b{a.get()} {} | |
R(int (*)[3]) : b{a} {} | |
R(int (*)[4]) : a{&a} {} | |
}; |