<div dir="ltr">Yeah, something about linkage - but that's not the part that's as likely to be a problem as the other part: the other test for C++ language was what causes LLVM to compute the fully qualified name of an entity in the accelerator table ("foo::bar" instead of just "bar" (eg: the bug was things like "std::basic_string<...>::length" showed up in the table as just "length" or "basic_string<...>" without the "std::" prefix, etc)</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 2, 2019 at 8:48 AM Adrian Prantl <<a href="mailto:aprantl@apple.com">aprantl@apple.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
>> On Oct 1, 2019, at 6:40 PM, David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>> wrote:<br>
>> <br>
>> This broke gnu_pubnames and other forms of DWARF index of C++ code - fixed in r373420 (feel free to post-comimt review, etc, of course)<br>
>> <br>
> <br>
<br>
patch for reference:<br>
<br>
>    case dwarf::DW_TAG_union_type:<br>
>    case dwarf::DW_TAG_enumeration_type:<br>
>      return dwarf::PubIndexEntryDescriptor(<br>
> -        dwarf::GIEK_TYPE, CU->getLanguage() != dwarf::DW_LANG_C_plus_plus<br>
> -                              ? dwarf::GIEL_STATIC<br>
> -                              : dwarf::GIEL_EXTERNAL);<br>
> +        dwarf::GIEK_TYPE,<br>
> +        dwarf::isCPlusPlus((dwarf::SourceLanguage)CU->getLanguage())<br>
> +            ? dwarf::GIEL_EXTERNAL<br>
> +            : dwarf::GIEL_STATIC);<br>
>    case dwarf::DW_TAG_typedef:<br>
>    case dwarf::DW_TAG_base_type:<br>
>    case dwarf::DW_TAG_subrange_type:<br>
<br>
> On Oct 2, 2019, at 8:32 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>> wrote:<br>
> <br>
> Out of curiosity, should/would this've shown up for you Apple folks too? (as a failure in the apple/lldb accelerator tables - because the names would be similarly incorrect) had it just not got to the necessary testing yet?<br>
> <br>
<br>
+Jonas who knows the accelerator tables better than me.<br>
<br>
It certainly didn't show up in our LLDB bots. I'm not familiar with GIEL_STATIC vs. GIEL_EXTERNAL; are those linkage specifiers? I don't think we have an equivalent in the Apple accelerator tables or .debug_names.<br>
<br>
-- adrian</blockquote></div>