xref: /openbsd-src/gnu/usr.bin/gcc/gcc/testsuite/g++.old-deja/g++.mike/net37.C (revision c87b03e512fc05ed6e0222f6fb0ae86264b1d05b)
1 class B {
2 public:
3     int bi;
bProc(void)4     void bProc ( void ) { bi = 39; }
5   };
6 
7 class D : public B {
8 public:
9     int di;
dProc(void)10     void dProc (void ){ di = 42; }
11   };
12 
13 typedef void (B::*BPROC)(void);
14 typedef void (D::*DPROC)(void);
15 
16 union AFX_PMSG {
17 public:
18 
AFX_PMSG()19   AFX_PMSG () {};
AFX_PMSG(BPROC bpr)20   AFX_PMSG ( BPROC bpr ) { bfn = bpr ; }
21 
BPROC()22   operator BPROC() { return bfn; }
23 
24   BPROC bfn;
25   DPROC dfn;
26 };
27 
28 
main(int argc,char * argv[])29 int main(int argc, char *argv[]) {
30   B b;
31   D d;
32 
33   BPROC    bpr = &B::bProc;
34   AFX_PMSG pmsg(bpr);
35 
36   BPROC ppr = pmsg;
37 
38   return 0;
39 }
40