int main() { void (A::*mPtr)() = &A::f1a; (*(void (*)(A*))PMF2PF(mPtr))(&a); // { dg-warning "convert" } }
int main() { void (A::*mPtr)() = &A::f1a; (*(void (*)(A*))PMF2PF(mPtr))(&a); // { dg-error "" } }
void A::main() { void (B::*mPtrB)(B*); (*(void (*)(A*))PMF2PF(mPtrB))(&b); // { dg-error "argument passing" } // { dg-warning "convert" "warn" { target *-*-* } 20 } }
void A::main() { void (B::*mPtrB)(B*); (*(void (*)(A*))PMF2PF(mPtrB))(&b); // { dg-error "" } }