1 // { dg-do run  }
2 // prms-id: 3139
3 
4 extern "C" int printf(const char *, ...);
5 
6 class A {
7   public:
A()8   A() { }
9   virtual int a() = 0;
10 };
11 
12 class B : virtual public A {
13   public:
14   virtual int a() = 0;
15 };
16 
17 class C : public B {
18   public:
a()19   int a() { return 42; }
20 };
21 
main()22 int main() {
23   B * b = new C;
24   printf("%d.\n", b->a());
25   return 0;
26 }
27