// RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s struct C { static int (C::* a); }; typedef void (C::*pmfc)(); void g(pmfc) { C *c; c->*pmfc(); // expected-error {{invalid use of pointer to member type after ->*}} C c1; c1.*pmfc(); // expected-error {{invalid use of pointer to member type after .*}} c->*(pmfc()); // expected-error {{invalid use of pointer to member type after ->*}} c1.*((pmfc())); // expected-error {{invalid use of pointer to member type after .*}} } int a(C* x) { return x->*C::a; }