2018-11-07 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / g++.dg / torture / pr33589-1.C
blobeea89f421a577f7db84c24392d9a443d821cbddd
1 // { dg-do compile }
2 struct base { void somemethod() {} };
3 struct derived : public base { };
5 struct smartpointer
7   ~smartpointer() { }
8   operator derived*() const
9   {
10     return 0;
11   }
13 typedef void ( derived::* methodptr_type )();
14 methodptr_type getmemberptr()
16         return &derived::somemethod;
18 void somefunction()
20         smartpointer pObj;
21         ( pObj->*getmemberptr() )();