| // PR 31074 | |
| // Bug: The reference cast wasn't finding the desired static_cast followed by | |
| // const_cast interpretation. | |
| struct Shape | |
| { | |
| Shape() {} | |
| virtual ~Shape() {} | |
| }; | |
| struct Loop | |
| { | |
| Loop() {} | |
| virtual ~Loop() {} | |
| virtual void func() {} | |
| }; | |
| struct Rect : | |
| public Shape, | |
| public Loop | |
| { | |
| Rect() {} | |
| virtual ~Rect() {} | |
| }; | |
| int main () | |
| { | |
| const Rect* rect = new Rect(); | |
| Loop &l = ((Loop&)(*rect)); | |
| return (&l != (const Loop *)rect); | |
| } |