>>> Is it correct that block_num has 1-1 mapping with block_table. And
>>> block_table has 1-1 mapping with logical_table?
>>
>> The first part, yes -- there's one entry in block_table for each
>> block_num in the function tree. But two or more blocks may map to a
>> single logical, and some blocks may not correspond to a logical at all
>> -- if dwarf2out_source_line() is never called for a block, I'll never
>> create a logical for it.
>
> I don't understand why multiple blocks may map to a single
> logical_entry. Can you give an example?

Sorry, you may be right that two different block cannot map to a
single logical entry. But I don't think that's relevant. I create a
logical for a specific combination of
file/line/discriminator/subprog/context, which I obtain from the block
entry. It is definitely possible for many logicals to map to a single
block, though, so there is not a 1-1 mapping.

-cary

Reply via email to