1// PR c++/48594
2// Test for uses of (X->*Y)() that don't actually involve a
3// pointer to member function.
4
5struct A { } a;
6struct B { } b;
7struct C * cp;
8
9struct Func { void operator()(); };
10Func operator->* (A, int);
11
12typedef void (*pfn)();
13pfn operator->* (B, int);
14
15pfn C::*cpfn;
16Func C::*cfunc;
17
18template <class T>
19void f()
20{
21  (a->*1)();
22  (b->*1)();
23  (cp->*cpfn)();
24  (cp->*cfunc)();
25}
26