1*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s 2*67e74705SXin Li 3*67e74705SXin Li struct C { 4*67e74705SXin Li static int (C::* a); 5*67e74705SXin Li }; 6*67e74705SXin Li 7*67e74705SXin Li typedef void (C::*pmfc)(); 8*67e74705SXin Li g(pmfc)9*67e74705SXin Livoid g(pmfc) { 10*67e74705SXin Li C *c; 11*67e74705SXin Li c->*pmfc(); // expected-error {{invalid use of pointer to member type after ->*}} 12*67e74705SXin Li C c1; 13*67e74705SXin Li c1.*pmfc(); // expected-error {{invalid use of pointer to member type after .*}} 14*67e74705SXin Li c->*(pmfc()); // expected-error {{invalid use of pointer to member type after ->*}} 15*67e74705SXin Li c1.*((pmfc())); // expected-error {{invalid use of pointer to member type after .*}} 16*67e74705SXin Li } 17*67e74705SXin Li a(C * x)18*67e74705SXin Liint a(C* x) { 19*67e74705SXin Li return x->*C::a; 20*67e74705SXin Li } 21*67e74705SXin Li 22