1// { dg-do run  }
2// prms-id: 3041
3
4class A {
5public:
6  A() { }
7  virtual void a() = 0;
8  static int b(A * p) {
9    p->a();
10    return 1;
11  }
12};
13
14class B : virtual public A {
15public:
16  B() {
17    static int installed = b(this);
18  }
19  void a() { }
20};
21
22class C : virtual public B {
23public:
24  C() {
25    static int installed = b(this);
26  }
27  void a() { }
28};
29
30int main()
31{
32  C c;
33  return 0;
34}
35