On 11/06/2017 09:21 AM, Eric Botcazou wrote:
>> I would probably incline to emit some information to *.gcno file that will
>> reflect that we should not report unexecuted blocks.
> 
> I'm a bit reluctant to modify the gcov format, unless your changes did though.

Hello.

Yes, I've got patch candidate that's going to change gcov format.
Please stream it in coverage_begin_function (coverage.c).

> 
>> However, as I've been reading dump file:
>>
>> P.Add (const integer i1, const integer i2)
>> {
>>    complex int D.4219;
>>    integer iftmp.2;
>>    integer D.4217;
>>    integer _1;
>>    complex int _4;
>>    integer iftmp.2_5;
>>    integer _6;
>>
>>    <bb 2> [0.00%]:
>>    _4 = ADD_OVERFLOW (i1_2(D), i2_3(D));
>>    _1 = IMAGPART_EXPR <_4>;
>>    if (_1 != 0)
>>      goto <bb 3>; [0.00%]
>>    else
>>      goto <bb 4>; [0.00%]
>>
>>    <bb 3> [0.00%]:
>>    .gnat_rcheck_CE_Overflow_Check ("p.adb", 5);
>>
>>    <bb 4> [0.00%]:
>>    iftmp.2_5 = REALPART_EXPR <_4>;
>>    _6 = iftmp.2_5;
>>
>> <L3> [0.00%]:
>>    return _6;
>>
>> }
>>
>> Isn't the <bb 3> some kind of exceptional basic block?
> 
> No, it's just the regular target of the goto just above.
> 
>> Can one find such blocks in middle-end? In case of C++, exceptional blocks
>> are not considered for the warning.
> 
> Likewise, but it's a different issue here.
> 

I see.

Thanks,
Martin

Reply via email to