1 // { dg-do assemble  }
2 
3 class ClassA {
4 public:
5   typedef ClassA& (*PMFV)(const char*);
6   static PMFV setMapper(PMFV);
7   static PMFV _mapper;
8 };
9 
10 class ClassB {
11 public:
12   typedef ClassB& (*PMFV)(const char*);
13 };
14 
setMapper(ClassA::PMFV newFunc)15 ClassA::PMFV ClassA::setMapper(ClassA::PMFV newFunc)
16 {
17   PMFV oldFunc = _mapper;
18   _mapper = newFunc;
19 
20   return oldFunc;
21 }
22