(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
ipa/
pr91831.C
/* { dg-do compile } */
/* { dg-options "-O2 --param uninlined-thunk-insns=1000"  } */

struct A {
  virtual void m_fn1();
};
struct B {
  virtual void *m_fn2(int, int) = 0;
};
struct C : A, B {
  void *m_fn2(int, int) { return this; }
};
void *fn1(B &p1) { return p1.m_fn2(0, 0); }

int main() {
  C c;
  fn1(c);
  return 0;
}