<div dir="ltr">Hi all,<br><br>The LLVM discussion linked [0] happens to be us Sony folks, and it's supporting the use-case Kyle described of automatic downcasting, i.e. identifying the most-derived-class of an object from its vtable pointer. Having to demangle the symbol table is a real pain (Tom, CC'd knows more) especially with things like anonymous namespaces.<br><br>Right now the approach is to have a top-level nameless global variable with the location set to the vtable address, and a DW_AT_specification linking into the class definition:<br><br><font face="monospace">0x00000082:   DW_TAG_variable</font><br><font face="monospace">                DW_AT_specification     (0x000000b6 "_vtable$")</font><br><font face="monospace">                DW_AT_alignment (8)</font><br><font face="monospace">                DW_AT_location  (DW_OP_addrx 0x1)</font><br><br><font face="arial, sans-serif">[Then deeper into the DIE tree,]</font><div><font face="monospace"><br></font></div><div><font face="monospace">0x0000008b:   DW_TAG_structure_type<br>                DW_AT_containing_type   (0x00000034 "CBase")<br>                DW_AT_calling_convention        (DW_CC_pass_by_reference)<br>                DW_AT_name      ("CDerived")<br>                DW_AT_decl_file ("vtables.cpp")<br>                DW_AT_decl_line (6)</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">                [...]<br><br>0x000000b6:     DW_TAG_variable<br>                  DW_AT_name    ("_vtable$")<br>                  DW_AT_type    (0x00000081 "void *")<br>                  DW_AT_external        (true)<br>                  DW_AT_declaration     (true)<br>                  DW_AT_artificial      (true)<br>                  DW_AT_accessibility   (DW_ACCESS_private)</font><br><br>This works well enough for our own debugger use-cases; I agree with Cary that it's hacky to rely on the name of a variable to signify important information like this and an officially blessed way could help.</div><div><br></div><div>I've no opinion on the 

<span style="font-family:monospace">DW_AT_vtable_elem_location </span><font face="arial, sans-serif">behaviours, although we can consider it a separate issue.</font><br><br>[0] <a href="https://github.com/llvm/llvm-project/pull/130255">https://github.com/llvm/llvm-project/pull/130255</a></div><div><br></div><div>--</div><div>Thanks,</div><div>Jeremy</div><div><br></div></div>