1// { dg-do run  }
2// PRMS Id: 6905
3
4class Parent {
5public:
6  void DoSomething() { return; };
7  int i;
8};
9
10class Child : public Parent {
11public:
12};
13
14class User {
15public:
16  void DoAnyThing(void (Parent::*)(void)) { return; }
17  void DoAThing(void (Child::*)(void)) { return; }
18  void DoAThing(int Child::*) { return; }
19};
20
21
22int main()
23{
24  User a;
25
26  a.DoAnyThing(&Child::DoSomething);
27  a.DoAThing(&Child::DoSomething);
28  a.DoAThing(&Parent::DoSomething);
29  a.DoAThing(&Parent::i);
30}
31