URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 305 |
Rev 338 |
// { dg-do run }
|
// { dg-do run }
|
class B {
|
class B {
|
public:
|
public:
|
int bi;
|
int bi;
|
void bProc ( void ) { bi = 39; }
|
void bProc ( void ) { bi = 39; }
|
};
|
};
|
|
|
class D : public B {
|
class D : public B {
|
public:
|
public:
|
int di;
|
int di;
|
void dProc (void ){ di = 42; }
|
void dProc (void ){ di = 42; }
|
};
|
};
|
|
|
typedef void (B::*BPROC)(void);
|
typedef void (B::*BPROC)(void);
|
typedef void (D::*DPROC)(void);
|
typedef void (D::*DPROC)(void);
|
|
|
union AFX_PMSG {
|
union AFX_PMSG {
|
public:
|
public:
|
|
|
AFX_PMSG () {}
|
AFX_PMSG () {}
|
AFX_PMSG ( BPROC bpr ) { bfn = bpr ; }
|
AFX_PMSG ( BPROC bpr ) { bfn = bpr ; }
|
|
|
operator BPROC() { return bfn; }
|
operator BPROC() { return bfn; }
|
|
|
BPROC bfn;
|
BPROC bfn;
|
DPROC dfn;
|
DPROC dfn;
|
};
|
};
|
|
|
|
|
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
B b;
|
B b;
|
D d;
|
D d;
|
|
|
BPROC bpr = &B::bProc;
|
BPROC bpr = &B::bProc;
|
AFX_PMSG pmsg(bpr);
|
AFX_PMSG pmsg(bpr);
|
|
|
BPROC ppr = pmsg;
|
BPROC ppr = pmsg;
|
|
|
return 0;
|
return 0;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.