aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/opt/devirt3.C
blob: 673867361c1fe086c37caf3a1d187d8372691515 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// { dg-do compile }
// { dg-options "-O2" }

class ert_RefCounter {
 protected:
  int refCounterE;
  virtual ~ert_RefCounter() {}
};

class ebs_Object : virtual public ert_RefCounter {
};

class dpr_App : public ebs_Object {
 public:
  virtual void run();
};

class dpr_Job : public ebs_Object {};

void dpr_run(ebs_Object& objectA) {
  ((dpr_App&)objectA).run();
  dpr_Job jobL;
  dpr_run(jobL);
}