Rebase.
[official-gcc.git] / gcc / testsuite / g++.dg / ipa / devirt-25.C
blob5a8a04faf19a0c37f62ee6f5814d53c9c1f256fe
1 /* { dg-do compile } */
2 /* { dg-options "-O3 -fdump-ipa-cp"  } */
3 /* { dg-add-options bind_pic_locally } */
5 class ert_RefCounter {
6  protected:
7   int refCounterE;
8   virtual ~ert_RefCounter() {}
9 };
11 class ebs_Object : virtual public ert_RefCounter {
14 class dpr_App : public ebs_Object {
15  public:
16   virtual void run();
19 class dpr_Job : public ebs_Object {};
21 void dpr_run(ebs_Object& objectA) {
22   ((dpr_App&)objectA).run();
23   dpr_Job jobL;
24   dpr_run(jobL);
26 /* { dg-final { scan-ipa-dump "Type inconsistent devirtualization" "cp"  } } */
27 /* { dg-final { cleanup-ipa-dump "cp" } } */