// PR c++/19808 | |
// { dg-do compile { target c++11 } } | |
// { dg-options "-Wuninitialized" } | |
// Test that we don't warn in an uninstantiated template. | |
struct A { | |
int *fn() { return nullptr; } | |
}; | |
template<typename T> | |
struct B { | |
B() : p(a->fn()) { } | |
A *a; | |
int *p; | |
}; | |
template<typename T> | |
struct C { | |
C() : p(a->fn()) { } // { dg-warning "member .C<int>::a. is used uninitialized" } | |
A *a; | |
int *p; | |
}; | |
C<int> c; |