| /* { dg-do run } */ | |
| namespace FOO { | |
| template <typename T> | |
| class A | |
| { | |
| public: | |
| void Enum(); | |
| virtual void OnProv() = 0; | |
| virtual ~A() { } | |
| }; | |
| typedef A<char> B; | |
| template<typename T> | |
| void A<T>::Enum () | |
| { | |
| OnProv (); | |
| } | |
| } // namespace FOO | |
| class C {}; | |
| class D: public C, public FOO::B { | |
| public: | |
| void OnProv() {} | |
| }; | |
| int main(int argc, char *argv[]) | |
| { | |
| D x; | |
| x.Enum(); | |
| return 0; | |
| } |