[llvm-commits] [PATCH] PR14471: Debug info for static data members (LLVM part)

Robinson, Paul 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...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130104/2ceeff92/attachment.html>

More information about the llvm-commits mailing list