28 lines
488 B
C
28 lines
488 B
C
// { dg-do assemble }
|
|
// { dg-options "" }
|
|
// prms-id: 10769
|
|
|
|
#define PMF2PF(PMF) ((void (*)())(PMF))
|
|
|
|
class A {
|
|
public:
|
|
void f1a() { }
|
|
void main();
|
|
} a;
|
|
|
|
class B {
|
|
public:
|
|
void bf1() { }
|
|
} b;
|
|
|
|
void A::main() {
|
|
void (B::*mPtrB)(B*);
|
|
(*(void (*)(A*))PMF2PF(mPtrB))(&b); // { dg-error "argument passing" }
|
|
// { dg-warning "convert" "warn" { target *-*-* } 20 }
|
|
}
|
|
|
|
int main() {
|
|
void (A::*mPtr)() = &A::f1a;
|
|
(*(void (*)(A*))PMF2PF(mPtr))(&a); // { dg-warning "convert" }
|
|
}
|