Committed to trunk, and verified that FSF 4.8 will also fail this test.

Quick question, is it possible that these two patches will trigger
other bugs? The reason I ask is that I saw you have many other patches
later for devirtualization related code, which made me a little
nervous about this.

Thanks,
Dehao

On Thu, Oct 24, 2013 at 9:15 AM, Jan Hubicka <hubi...@ucw.cz> wrote:
>> 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);
>> +}

Reply via email to