// { dg-do assemble } // Origin: Jakub Jelinek class bar { public: bar(); virtual ~bar(); static void a(); }; class baz : public bar { }; class foo : virtual public baz { public: static void a(); void b(); }; typedef void (bar::*T)(); T d; void foo::a() { typedef void(foo::*t)(); t c = & foo::b; d = (T) c; // { dg-warning "" } pointer to member cast }