aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/lto/pr68057_0.C
blob: 4e124d7f5e8892394c38d22839330c67b83ce25b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// { dg-lto-do link }
/* { dg-extra-ld-options { -O2 -Wno-odr -r -nostdlib } } */
struct SPxPricer;
struct SoPlex {
  virtual void setPricer(SPxPricer *);
};
struct SPxPricer {
  virtual void load(SoPlex *);
};
struct SLUFactor {
  SLUFactor();
  virtual ~SLUFactor();
};
struct SPxSolver : SoPlex {
  SPxPricer pr;
  SLUFactor slu;
  SPxSolver();
};
struct A : SPxSolver {};
A a;

void SoPlex::setPricer(SPxPricer *p1) { p1->load(this); }