<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 14, 2019 at 2:08 PM Lang Hames via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: lhames<br>
Date: Mon Jan 14 14:05:12 2019<br>
New Revision: 351128<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=351128&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=351128&view=rev</a><br>
Log:<br>
[Object] Return a symbol_iterator, rather than a basic_symbol_iterator, from<br>
MachOObjectFile::getSymbolByIndex.<br>
<br>
ObjectFile derivatives should prefer symbol_iterator/SymbolRef over<br>
basic_symbol_iterator/BasicSymbolRef where possible, as the former<br>
retain their link to the ObjectFile (rather than a SymbolicFile) and provide<br>
more functionality.<br></blockquote><div><br>Is there an intent to use that greater functionality somewhere in LLVM? Or out of tree?<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">No test for this: Existing code is working, and we don't have (m)any libObject<br>
unit tests. I'll think about how we can test more systematically going forward.<br></blockquote><div><br>If it's out of tree, unit tests would seem appropriate. If it's in-tree, might be appropriate to include the functional change along with this API change (or shortly after) to demonstrate the usage/need.<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Modified:<br>
    llvm/trunk/include/llvm/Object/MachO.h<br>
    llvm/trunk/lib/Object/MachOObjectFile.cpp<br>
<br>
Modified: llvm/trunk/include/llvm/Object/MachO.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/MachO.h?rev=351128&r1=351127&r2=351128&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/MachO.h?rev=351128&r1=351127&r2=351128&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/Object/MachO.h (original)<br>
+++ llvm/trunk/include/llvm/Object/MachO.h Mon Jan 14 14:05:12 2019<br>
@@ -356,7 +356,7 @@ public:<br>
   basic_symbol_iterator symbol_end() const override;<br>
<br>
   // MachO specific.<br>
-  basic_symbol_iterator getSymbolByIndex(unsigned Index) const;<br>
+  symbol_iterator getSymbolByIndex(unsigned Index) const;<br>
   uint64_t getSymbolIndex(DataRefImpl Symb) const;<br>
<br>
   section_iterator section_begin() const override;<br>
<br>
Modified: llvm/trunk/lib/Object/MachOObjectFile.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/MachOObjectFile.cpp?rev=351128&r1=351127&r2=351128&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/MachOObjectFile.cpp?rev=351128&r1=351127&r2=351128&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Object/MachOObjectFile.cpp (original)<br>
+++ llvm/trunk/lib/Object/MachOObjectFile.cpp Mon Jan 14 14:05:12 2019<br>
@@ -2438,7 +2438,7 @@ basic_symbol_iterator MachOObjectFile::s<br>
   return basic_symbol_iterator(SymbolRef(DRI, this));<br>
 }<br>
<br>
-basic_symbol_iterator MachOObjectFile::getSymbolByIndex(unsigned Index) const {<br>
+symbol_iterator MachOObjectFile::getSymbolByIndex(unsigned Index) const {<br>
   MachO::symtab_command Symtab = getSymtabLoadCommand();<br>
   if (!SymtabLoadCmd || Index >= Symtab.nsyms)<br>
     report_fatal_error("Requested symbol index is out of range.");<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div></div>