| // PR c++/47873 | |
| // { dg-do run } | |
| struct Base | |
| { | |
| virtual ~Base(){} | |
| virtual Base& This() { return *this; } | |
| }; | |
| struct Ent : virtual Base | |
| { | |
| void *m_Body; | |
| Ent& This() { return *this; } | |
| virtual Ent& body() | |
| { | |
| return This(); | |
| } | |
| }; | |
| struct Msg : virtual Ent | |
| { | |
| Msg() | |
| { | |
| body(); | |
| } | |
| Msg& This() { return *this; } | |
| }; | |
| int main() | |
| { | |
| Msg m; | |
| return 0; | |
| } |