// { dg-do assemble } | |
// { dg-options "-Wno-pmf-conversions" } | |
// Testcase for cast of bound pointer to member function. | |
struct A { | |
int f (); | |
}; | |
typedef int (*fptr)(A *); | |
typedef void* vptr; | |
typedef int (A::*pmf)(); | |
void foo (A* ap, pmf fp, int A::* ip) | |
{ | |
fptr p; | |
vptr q; | |
A a; | |
p = (fptr)(ap->*fp); | |
p = (fptr)(ap->*fp); | |
p = (fptr)(ap->*(&A::f)); | |
p = (fptr)(a.*fp); | |
p = (fptr)(a.*(&A::f)); | |
q = (vptr)(ap->*fp); | |
q = (vptr)(ap->*(&A::f)); | |
q = (vptr)(a.*fp); | |
q = (vptr)(a.*(&A::f)); | |
} |