| // { dg-do run } | |
| // Origin: Mark Mitchell <mark@codesourcery.com> | |
| struct B | |
| { | |
| B (); | |
| virtual void f () = 0; | |
| }; | |
| B::B () | |
| { | |
| } | |
| extern B* bp; | |
| template <class T> | |
| struct C : public B | |
| { | |
| virtual void f () | |
| { | |
| } | |
| }; | |
| template <class T> | |
| struct D : public B | |
| { | |
| virtual void f () | |
| { | |
| bp = new C<T*>; | |
| } | |
| }; | |
| B* bp = new D<int>; | |
| int main () | |
| { | |
| bp->f (); | |
| bp->f (); | |
| } | |