<div dir="ltr"><div>I investigated bug 15302, which is described as:</div><div><br></div><span id="summary_alias_container" style="color:rgb(0,0,0)"><span id="short_desc_nonedit_display"><font face="arial, helvetica, sans-serif"><u>"</u>LLDB does not print 'anonymous namespace' prefix for variable names (if inferior built with GCC on Linux)"</font></span></span><div>
<span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif"><br></font></span></div><div><span id="docs-internal-guid-2c0a2539-7edd-d7ab-0866-3403bf8c7acc"><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0);line-height:normal">What I found was that the GCC dwarf data does not contain a mangled name for a variable defined in an anonymous namespace, unlike clang. LLDB VariableObject depends on the mangled name to identify the anonymous namespace for a variable, so in the test case it does no print the (anonymous namespace) prefix. I checked the dwarf data using dwarfdump and nm. In the case of dwarfdump the variable is a child of the anonymous namespace but there is no mangled name, but when I use nm to dump the symbols it displays the mangled name. I am not sure if this means nm is generating the name or getting the symbol from somewhere else.</span><br>
</p></span></div><div><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif"><br></font></span></div><div><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">I am looking for suggestions on how to resolve this, should LLDB be inferring the namespace from the hierarchy somehow or should GCC be outputting the mangled symbol?</font></span></div>
<div><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif"><br></font></span></div><div><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">Alex </font></span></div></div>