1// { dg-do run } 2// Origin: Mark Mitchell <mark@codesourcery.com> 3 4struct B 5{ 6 B (); 7 virtual void f () = 0; 8}; 9 10B::B () 11{ 12} 13 14extern B* bp; 15 16template <class T> 17struct C : public B 18{ 19 virtual void f () 20 { 21 } 22}; 23 24template <class T> 25struct D : public B 26{ 27 virtual void f () 28 { 29 bp = new C<T*>; 30 } 31}; 32 33B* bp = new D<int>; 34 35int main () 36{ 37 bp->f (); 38 bp->f (); 39} 40 41 42