(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
pr82128.C
// { dg-do compile }
// { dg-options "-O3 -fno-tree-forwprop" }

class A {
      virtual unsigned long m_fn1() const;
        virtual int &m_fn2(unsigned long) const;
};
class C : A {
public:
      int &m_fn2(unsigned long) const;
        unsigned long m_fn1() const;
};
class B {
      void m_fn3(const A &, const int &, const C &, int &) const;
};
void B::m_fn3(const A &, const int &, const C &, int &) const {
      C &a(a);
        for (long b = 0; a.m_fn1(); b++)
	      a.m_fn2(0);
}