> This test will fail if we don't have > http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=r201824 > > Bootstrapped and passed regression test. > > OK for trunk? This is OK. Thanks! If they fail on FSF 4.8, I can work on backporting the patch. it is quite self contained and safe.
Honza > > gcc/testsuite/ChangeLog: > 2013-10-24 Dehao Chen <de...@google.com> > > * g++.dg/opt/devirt3.C: New test. > > Index: gcc/testsuite/g++.dg/opt/devirt3.C > =================================================================== > --- gcc/testsuite/g++.dg/opt/devirt3.C (revision 0) > +++ gcc/testsuite/g++.dg/opt/devirt3.C (revision 0) > @@ -0,0 +1,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); > +}