<div dir="ltr">I think it is better to test on Unix instead of being not tested on any platform. I'll make that change if you haven't started yet. Thank you for finding this.</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 7, 2016 at 4:44 PM, Davide Italiano <span dir="ltr"><<a href="mailto:davide@freebsd.org" target="_blank">davide@freebsd.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thu, Jul 7, 2016 at 4:39 PM, Davide Italiano <<a href="mailto:davide@freebsd.org">davide@freebsd.org</a>> wrote:<br>
> r274806<br>
><br>
> On Thu, Jul 7, 2016 at 4:30 PM, Rui Ueyama <<a href="mailto:ruiu@google.com">ruiu@google.com</a>> wrote:<br>
>> It demangles symbols by default, so we only have --no-demangle option. Feel<br>
>> free to add --demangle as an ignored option.<br>
>><br>
</span>Also, FYI, this feature is not really tested.<br>
<span class=""><br>
template <typename ELFT><br>
std::string SymbolTable<ELFT>::conflictMsg(SymbolBody *Existing,<br>
                                           InputFile *NewFile) {<br>
</span><span class="">  std::string Sym = Existing->getName();<br>
</span>#if 0<br>
  if (Config->Demangle)<br>
    Sym = demangle(Sym);<br>
#endif<br>
<span class="">  return Sym + " in " + getFilename(Existing->getSourceFile<ELFT>()) + " and " +<br>
</span>         getFilename(NewFile);<br>
}<br>
<br>
If I compile out the call to demangle() all the tests will pass.<br>
The only test for demangle is conflict.s but it matches using a regex<br>
on the mangled<br>
or demangled symbol.<br>
Given we don't have a demangler for Windows from what I can tell we can either:<br>
1) leave the test as is and not really test demangling<br>
2) Make the test REQUIRE: shell but lose Windows coverage for this test.<br>
<br>
Up to you.<br>
<br>
Thanks,<br>
<br>
--<br>
Davide<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
>> On Thu, Jul 7, 2016 at 4:28 PM, Davide Italiano <<a href="mailto:davide@freebsd.org">davide@freebsd.org</a>> wrote:<br>
>>><br>
>>> On Thu, Jul 7, 2016 at 4:04 PM, Rui Ueyama via llvm-commits<br>
>>> <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br>
>>> > Author: ruiu<br>
>>> > Date: Thu Jul  7 18:04:15 2016<br>
>>> > New Revision: 274804<br>
>>> ><br>
>>> > URL: <a href="http://llvm.org/viewvc/llvm-project?rev=274804&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=274804&view=rev</a><br>
>>> > Log:<br>
>>> > Move demangle() from Symbols.cpp to Strings.cpp.<br>
>>> ><br>
>>> > Symbols.cpp contains functions to handle ELF symbols.<br>
>>> > demangle() function is essentially a function to work on a<br>
>>> > string rather than on an ELF symbol. So Strings.cpp is a<br>
>>> > better place to put that function.<br>
>>> ><br>
>>> > This change also make demangle to demangle symbols unconditionally.<br>
>>> > Previously, it demangled symbols only when Config->Demangle is true.<br>
>>> ><br>
>>><br>
>>> FWIW, lld currently doesn't accept --demangle<br>
>>><br>
>>> [davide@localhost build-clang]$ ld.gold --demangle<br>
>>> ld.gold: fatal error: no input files<br>
>>> [davide@localhost build-clang]$ ld.lld --demangle<br>
>>> warning: unknown argument: --demangle<br>
>>> unknown argument(s) found<br>
>>><br>
>>><br>
>>> Thanks,<br>
>>><br>
>>> --<br>
>>> Davide<br>
>><br>
>><br>
><br>
><br>
><br>
> --<br>
> Davide<br>
><br>
> "There are no solved problems; there are only problems that are more<br>
> or less solved" -- Henri Poincare<br>
<br>
<br>
<br>
--<br>
Davide<br>
<br>
"There are no solved problems; there are only problems that are more<br>
or less solved" -- Henri Poincare<br>
</div></div></blockquote></div><br></div>