xref: /minix3/external/bsd/llvm/dist/clang/test/SemaCXX/cxx-member-pointer-op.cpp (revision 5ba302fdeaa9e153d58b5dcaef42d660aedee92e)
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