aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.mike/p3139.C
blob: 9ff9b23cfa53cc873a4c6d54d9c516b8c32c93c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// prms-id: 3139

extern "C" int printf(const char *, ...);

class A {
  public:
  A() { }
  virtual int a() = 0;
};

class B : virtual public A {
  public:
  virtual int a() = 0;
};

class C : public B {
  public:
  int a() { return 42; }
};

main() {
  B * b = new C;
  printf("%d.\n", b->a());
  return 0;
}