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

Greg Clayton gclayton at apple.com
Mon Dec 16 16:56:13 PST 2013


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.

Greg





More information about the cfe-commits mailing list