<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jan 4, 2013 at 9:27 AM, Robinson, Paul <span dir="ltr"><<a href="mailto:Paul.Robinson@am.sony.com" target="_blank">Paul.Robinson@am.sony.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">




<div>
<div style="direction:ltr;font-size:10pt;font-family:Tahoma">
<p> </p>
<div style="font-size:16px;font-family:'Times New Roman'">
<div>
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote"><div>
<blockquote style="border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid;margin:0px 0px 0px 0.8ex;padding-left:1ex" class="gmail_quote">
<div>
<div style="font-family:Tahoma;direction:ltr;font-size:10pt">
<div style="font-family:'Times New Roman';font-size:16px">
<div>
<div dir="ltr">
<div>This is in enum llvm_dwarf_constants, not enum dwarf_constants.</div>
<div>It's one of several mock tags defined for the metadata interface;</div>
<div>they are not defined by DWARF.  (If the number of real DWARF tags</div>
<div>doubles, we'll have to renumber these to get out of the way.)</div>
<div>
<div> </div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>> Yeah, we're looking at getting rid of those, I'm not sure it's needed ... (more at the end)</div>
<div> </div>
</div><div>
<div>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.</div>
<div> </div>
<div>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.</div>
<div><br></div></div></div></div></div></div></div></div></div></blockquote><div><br></div><div style>So, I haven't checked with your patches since you think you might be missing a couple of hunks, however I think that we can still make do this using createMemberType and merely having a flag for the type that says that it's a static type and then query that. You wouldn't even need to modify createMemberType to take any extra variables it could just check for a new flag on the member.</div>
<div style><br></div><div style>Also, yes, the fixme in createStaticMemberDIE is correct - it should be DW_TAG_member.</div><div style><br></div><div style>Also:</div><div style><br></div><div style><div>+  DIDescriptor GVContext = GV.getContext();</div>
<div>+  (void)getOrCreateContextDIE(GVContext);</div><div><br></div><div style>this seems weird (that, as in, getting rid of the return value)?</div><div style><br></div><div style>As a note, I'm pretty happy with the patch, just trying to minimize the amount of large scale changes.</div>
<div style><br></div><div style>-eric</div></div></div></div></div>