2 /* { dg-options "-O3 -fno-early-inlining -fno-ipa-sra -fdump-ipa-cp" } */
3 /* Main purpose is to verify that we do not produce wrong devirtualization to
4 C::m_fn1. We currently devirtualize to B::m_fn1, so check that. */
11 class MultiTermDocs : public virtual B {
15 virtual B *m_fn1(int *) {}
16 virtual inline ~MultiTermDocs();
22 class C : MultiTermDocs {
25 MultiTermDocs::~MultiTermDocs() {
27 if (&readerTermDocs) {
29 for (unsigned i = 0; i < subReaders.length; i++)
34 B *C::m_fn1(int *) { abort (); }
40 /* { dg-final { scan-ipa-dump "Discovered a virtual call to" "cp" } } */