URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Subversion Repositories openrisc_2011-10-31
[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.mike/] [pmf8.C] - Rev 384
Compare with Previous | Blame | View Log
// { dg-do run }
int fail;
class A *ptr_a;
class A {
public:
char space1[24];
virtual void foo() {
if (this != ptr_a)
fail = 1;
}
};
class Space {
char space2[36];
};
class B : public Space, public A {
} b;
void (B::*pmf1)() = &A::foo;
void (A::*pmf2)() = &A::foo;
int main() {
ptr_a = &b;
(b .* (void (B::*) ()) &A::foo) ();
(b .* pmf1) ();
(b .* pmf2) ();
(b .* &A::foo) ();
return fail;
}