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