<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Apr 6, 2015, at 3:32 PM, Sean Callanan <<a href="mailto:scallanan@apple.com" class="">scallanan@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I like this; we could have the CXXLanguageRuntime return a list of “candidate” remangled names if you can’t find a given one, and then try those.<div class="">The function would have the signature</div><div class=""><br class=""></div><div class="">size_t</div><div class="">CXXLanguageRuntime::GetAlternateManglings(ConstString mangled_name, std::vector<ConstString> &alternate_names);</div><div class=""><br class=""></div><div class="">What do you folks think?</div><div class=""><br class=""></div><div class="">Sean</div><div class=""><br class=""><div class="">Siva, please move your logic (and the existing logic) into that function, which should ideally just take a str</div><div class=""><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Apr 6, 2015, at 3:15 PM, Zachary Turner <<a href="mailto:zturner@google.com" class="">zturner@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Is it possible to do away with the hardcoded mangled name?  I really dislike seeing this kind of thing.  Not only because it doesn't work with all ABIs, but just in general it's very gross for the debugger to have exceptions for specific mangled names.  Why is this necessary, and is there any way to get rid of it?<br class=""><div class=""><br class=""></div><div class="">If it is necessary, can we at least move it to somewhere more appropriate like the Mangled class and provide some kind of generic method like Mangled::GetAlternateMangling()?  </div></div><br class=""><div class="gmail_quote">On Mon, Apr 6, 2015 at 3:10 PM Greg Clayton <<a href="mailto:clayborg@gmail.com" class="">clayborg@gmail.com</a>> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'll OK this on the condition that Sean Callanan OKs this. Sean?<br class="">
<br class="">
<br class="">
<a href="http://reviews.llvm.org/D8846" target="_blank" class="">http://reviews.llvm.org/D8846</a><br class="">
<br class="">
EMAIL PREFERENCES<br class="">
  <a href="http://reviews.llvm.org/settings/panel/emailpreferences/" target="_blank" class="">http://reviews.llvm.org/<u class=""></u>settings/panel/<u class=""></u>emailpreferences/</a><br class="">
<br class="">
<br class="">
<br class="">
______________________________<u class=""></u>_________________<br class="">
lldb-commits mailing list<br class="">
<a href="mailto:lldb-commits@cs.uiuc.edu" target="_blank" class="">lldb-commits@cs.uiuc.edu</a><br class="">
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits" target="_blank" class="">http://lists.cs.uiuc.edu/<u class=""></u>mailman/listinfo/lldb-commits</a><br class="">
</blockquote></div>
</div></blockquote></div><br class=""></div></div></div></div>_______________________________________________<br class="">lldb-commits mailing list<br class=""><a href="mailto:lldb-commits@cs.uiuc.edu" class="">lldb-commits@cs.uiuc.edu</a><br class="">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits<br class=""></div></blockquote></div><br class=""><div class=""><br class="webkit-block-placeholder"></div><div class="">FWIW, we already have some similar provisions for detangled name in CPPLanguageRuntime</div><div class=""><br class=""></div><div class="">It’s called CPPRuntimeEquivalents, and according to SVN, I introduced it in 2012:</div><div class=""><br class=""></div><div class=""><pre style="background-color: rgb(255, 255, 255);" class="">Author: enrico
Date: Thu Feb  2 19:41:25 2012
New Revision: 149661

URL: <a href="http://llvm.org/viewvc/llvm-project?rev=149661&view=rev" class="">http://llvm.org/viewvc/llvm-project?rev=149661&view=rev</a>
Log:
Adding support for an "equivalents map". This can be useful when compilers emit multiple, different names for the same actual type. In such scenarios, one of the type names can actually be found during a type lookup, while the others are just aliases. This can cause issues when trying to work with these aliased names and being unable to resolve them to an actual type (e.g. getting an SBType for the aliased name).
Currently, no code is using this feature, since we can hopefully rely on the new template support in SBType to get the same stuff done, but the support is there just in case it turns out to be useful for some future need.

Modified:
    lldb/trunk/include/lldb/Target/CPPLanguageRuntime.h
    lldb/trunk/source/Target/CPPLanguageRuntime.cpp

</pre></div><div class="">
<div class="" style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br class="Apple-interchange-newline">Thanks,</div><div class="" style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><i class="">- Enrico</i><br class="">📩 egranata@<font color="#ff2600" class=""></font>.com ☎️ 27683</div>
</div>
<br class=""></body></html>