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