1// { dg-do assemble } 2// Origin: Mark Mitchell <mark@codesourcery.com> 3 4template <class T> 5struct B 6{ 7 virtual void f() = 0; 8}; 9 10template <class T> 11struct D : public B<T> { 12 virtual void f(); 13}; 14 15void g() { 16 B<int>* bi = new D<int>; 17} 18 19template <class T> 20void B<T>::f() {} 21 22