aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.martin/pmf1.C
blob: fed7354df4c71514aa3df5b8d2149e165c76d0e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Based on a test case by Andrew Bell <andrew.bell@bigfoot.com>
// Check for pointer-to-virtual-function calls on 
// bases without virtual functions.

struct B{};

struct D: public B{
  virtual void foo();
};

void D::foo(){}

int main()
{
  B *b = new D;
  void (B::*f)() = static_cast<void (B::*)()>(&D::foo);
  (b->*f)();
}