1/* { dg-do run } */ 2 3namespace FOO { 4 5template <typename T> 6class A 7{ 8public: 9 void Enum(); 10 virtual void OnProv() = 0; 11 virtual ~A() { } 12}; 13typedef A<char> B; 14 15template<typename T> 16void A<T>::Enum () 17{ 18 OnProv (); 19} 20} // namespace FOO 21 22class C {}; 23 24class D: public C, public FOO::B { 25public: 26 void OnProv() {} 27}; 28 29int main(int argc, char *argv[]) 30{ 31 D x; 32 x.Enum(); 33 return 0; 34} 35