[llvm-commits] [PATCH] PR14471: Debug info for static data members (LLVM part)
Paul.Robinson at am.sony.com
Fri Jan 4 09:27:44 PST 2013
This is in enum llvm_dwarf_constants, not enum dwarf_constants.
It's one of several mock tags defined for the metadata interface;
they are not defined by DWARF. (If the number of real DWARF tags
doubles, we'll have to renumber these to get out of the way.)
> Yeah, we're looking at getting rid of those, I'm not sure it's needed ... (more at the end)
I made a new subclass for static members because normal members currently use DIDerivedType and there are already snippy remarks in the commentary about what a hack that is (there's at least one extra field in DIDerivedType that's used only for members). AFAICT the subclasses have to be distinguishable by tag, so I invented a new tag.
If a future patch migrates normal members onto the new subclass, and there's some other way to distinguish normal and static members within that subclass (e.g. a new flag), then the new subclass can be identified using DW_TAG_member (which would no longer be valid for DIDerivedType) and we can get rid of DW_TAG_CXX_static_member.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-commits