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()22int main() { 23 B * b = new C; 24 printf("%d.\n", b->a()); 25 return 0; 26 } 27