1 // PR c++/29633 2 3 template <typename T> 4 struct Class1 5 { 6 void testfn1(void); 7 }; 8 9 template <typename T> 10 class Class2 11 { 12 public: testfn2(void)13 void testfn2(void) 14 { 15 Class1<T> * tc_a; 16 do 17 { 18 int x = 0; 19 } 20 while (tc_a && tc_a->testfn1); // { dg-error "invalid use of member" } 21 } 22 }; 23 main(void)24int main(void) 25 { 26 Class2<int> tc2; 27 tc2.testfn2(); 28 return 0; 29 } 30