blob: 932a676d6a02a5d2060473b65a3a0f28566d5900 [file] [log] [blame]
// { dg-do compile }
class IObject {
public:
virtual ~IObject();
};
class A {
virtual int m_fn1();
};
class B {
public:
virtual int m_fn2(B) const;
};
class D : IObject, public virtual B {};
class G : public D, A {
public:
G(A);
};
class F : B {
friend class C;
};
class C {
void m_fn3(const IObject &, int &);
void m_fn4(const B &, int &);
};
A a;
void C::m_fn3(const IObject &, int &p2) {
G r(a);
m_fn4(r, p2);
}
void C::m_fn4(const B &p1, int &) {
F b;
p1.m_fn2(b);
}