// { dg-do run  }
// A test case found by InterViews testing...

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

class A {
public:
	int foo() { printf("ok nv\n"); return 0; }
	virtual int vfoo() { printf("ok v\n"); return 0; }
};

struct S {
	int (A::*pfn1)();
	int (A::*pfn2)();
	int (A::*pfn3)();
};

// This failed before.
S s = { &A::foo, &A::vfoo, &A::foo };

A a;

int main() {
  (a.*s.pfn1)();
  (a.*s.pfn2)();
  printf("PASS\n");
  return 0;
}
