URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
// { dg-do run }
|
// { dg-do run }
|
void *vp;
|
void *vp;
|
|
|
class silly {
|
class silly {
|
public:
|
public:
|
virtual int b() { return 1; }
|
virtual int b() { return 1; }
|
};
|
};
|
class solly : silly {
|
class solly : silly {
|
public:
|
public:
|
virtual int b() { return 2; }
|
virtual int b() { return 2; }
|
};
|
};
|
class thing {
|
class thing {
|
public:
|
public:
|
virtual int a() { return 3; }
|
virtual int a() { return 3; }
|
};
|
};
|
class thong : public solly, public thing {
|
class thong : public solly, public thing {
|
public:
|
public:
|
virtual int a() {
|
virtual int a() {
|
if (this != vp) return 4;
|
if (this != vp) return 4;
|
else return 0;
|
else return 0;
|
}
|
}
|
};
|
};
|
|
|
typedef int(thing::*ping)();
|
typedef int(thing::*ping)();
|
ping qq = &thing::a;
|
ping qq = &thing::a;
|
|
|
int main() {
|
int main() {
|
thong b;
|
thong b;
|
vp = &b;
|
vp = &b;
|
return (b.*qq)();
|
return (b.*qq)();
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.