| // { dg-additional-options "--param early-inlining-insns=3 --param ipa-cp-eval-threshold=100" } | |
| struct A { | |
| int a; | |
| }; | |
| struct B { | |
| int b; | |
| }; | |
| struct C : B, A {}; | |
| struct RA { | |
| virtual A *operator-(); | |
| }; | |
| struct RC : RA { | |
| C *operator-() { | |
| C *x = new C(); | |
| return x; | |
| } | |
| }; | |
| void fop(RC *x) { -static_cast<RA &>(*x); } |