1 // PR c++/23293
2 
3 template < typename > struct P;
4 struct S;
5 
unrelated_function()6 void *unrelated_function()
7 {
8   typedef S K;
9   P < K > * p;
10   return p;
11 }
12 
13 template < typename U >
generate_warning()14 void generate_warning()
15 {
16   U::x(); // { dg-error "P<S>" }
17 }
18 
main()19 int main()
20 {
21   generate_warning< P < S > >();
22 }
23