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