On 01/18/2018 03:57 PM, Jakub Jelinek wrote:
> On Thu, Jan 18, 2018 at 04:59:01PM +0100, Jan Hubicka wrote:
>> this patch ICE where the profile in cgraph mismatch profile in BB. This is 
>> becuase
>> of expansion of speculative devirtualization where we get some roundoff 
>> issues.
>>
>> Bootstrapped/regtested x86_64-linux, comitted.
>> Honza
>>
>>      PR ipa/83619
>>      * g++.dg/torture/pr83619.C: New testcase.
>>      * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Update edge
>>      frequencies.
>> --- testsuite/g++.dg/torture/pr83619.C       (revision 0)
>> +++ testsuite/g++.dg/torture/pr83619.C       (working copy)
> ...
> 
> This testcase FAILs everywhere:
> /.../gcc/gcc/testsuite/g++.dg/torture/pr83619.C: In static member function 
> 'static void i::j< <template-parameter-1-1> >::c(e*)':
> /.../gcc/gcc/testsuite/g++.dg/torture/pr83619.C:25:8: warning: invalid use of 
> incomplete type 'class e'
> /.../gcc/gcc/testsuite/g++.dg/torture/pr83619.C:8:7: note: forward 
> declaration of 'class e'
> FAIL: g++.dg/torture/pr83619.C   -O0  (test for excess errors)
> Excess errors:
> /.../gcc/gcc/testsuite/g++.dg/torture/pr83619.C:25:8: warning: invalid use of 
> incomplete type 'class e'
> 
> The following patch tweaks it so that it doesn't emit the warning, yet still
> ICEs before your cgraph.c change and PASSes after it.
> Tested on x86_64-linux and i686-linux, ok for trunk?
> 
> 2018-01-18  Jakub Jelinek  <ja...@redhat.com>
> 
>       PR ipa/83619
>       * g++.dg/torture/pr83619.C (e): Define before first use instead of
>       forward declaration.
OK.

Note I think someone has filed a regression against this failure.  SO
you might want to check the recent P3s to find and close it out.

jeff

Reply via email to