1// { dg-lto-do link }
2/* { dg-extra-ld-options { -O2 -Wno-odr -r -nostdlib } } */
3struct SPxPricer;
4struct SoPlex {
5  virtual void setPricer(SPxPricer *);
6};
7struct SPxPricer {
8  virtual void load(SoPlex *);
9};
10struct SLUFactor {
11  SLUFactor();
12  virtual ~SLUFactor();
13};
14struct SPxSolver : SoPlex {
15  SPxPricer pr;
16  SLUFactor slu;
17  SPxSolver();
18};
19struct A : SPxSolver {};
20A a;
21
22void SoPlex::setPricer(SPxPricer *p1) { p1->load(this); }
23
24