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
Tue Dec 17 18:04:17 PST 2013


On Dec 17, 2013, at 5:38 PM, David Blaikie <dblaikie at gmail.com> wrote:

> 
> 
> 
> On Tue, Dec 17, 2013 at 5:34 PM, Greg Clayton <gclayton at apple.com> wrote:
> >
> > >
> > > b) -flimit-debug-info is worth, at a guess, somewhere between 1 and 5%. This vtable optimization is worth closer to 20%. That's /serious/ bloat to consider accepting.
> >
> > I don't consider bloat being something that helps us to completely define a type that is going to be use when debugging so we can show the entire type and its member variables to the user.
> >
> > How do you know which types are going to be needed by the user? What about types that are only declared but not defined in this translation unit? ("struct foo; foo *f;")
> 
> I will say again what I have said before: if I need to re-create a type form DWARF, then I want all the information I need. In order to re-create an opaque "struct foo" for a pointer or reference, a declaration is fine. If I need to recreate a class, I want all of the base class info.
> 
> And if someone dereferences that pointer in a debugger expression?

Then I have no problems because I was able to create a pointer type that clang can deal with. You won't see any data inside of it, but it is a legal AST type.





More information about the cfe-commits mailing list