r188739 - Revert "Revert "Revert "Revert "DebugInfo: Omit debug info for dynamic classes in TUs that do not have the vtable for that class""""

Eric Christopher echristo at gmail.com
Mon Dec 16 17:02:26 PST 2013


On Mon, Dec 16, 2013 at 4:56 PM, Greg Clayton <gclayton at apple.com> wrote:
>
> On Dec 16, 2013, at 4:53 PM, Eric Christopher <echristo at gmail.com> wrote:
>
>> From the standard point of view it does appear that this trick is legal btw:
>>
>> "A debugging information entry that represents a non-defining or otherwise incomplete declaration of a program entity has a
>> DW_AT_declaration attribute, which is a flag..."
>>
>> so this is merely being labeled as an incomplete type and is valid dwarf.
>
> There is no doubt that this is legal DWARF.

:)

>
>> I'm not a fan of it necessarily, but a 20% win per object file is huge. I'd honestly prefer that struct types worked more like namespaces, but that's a rather serious change to the standard.
>
> Yes the win is big, I can certainly believe this. Though it comes at a cost for all downstream tools.
>

A bit, I'm not sure what the cost is for you guys. I'm definitely not
willing to give it up in the general case. Other compilers etc have
this on by default and the tools seem to cope just fine. As far as I
can tell it's just lldb/dtrace that can't handle it.

-eric

> Greg
>




More information about the cfe-commits mailing list