blob: ed85ba93830b56f6ae0bf22578eae67a150a9fec [file] [log] [blame]
// { dg-do compile }
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);
}