From: Lang Hames Date: Mon, 14 Jan 2019 22:05:12 +0000 (+0000) Subject: [Object] Return a symbol_iterator, rather than a basic_symbol_iterator, from X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d2d60da2b7620377cbad510353b5d18032b4b440;p=llvm [Object] Return a symbol_iterator, rather than a basic_symbol_iterator, from MachOObjectFile::getSymbolByIndex. ObjectFile derivatives should prefer symbol_iterator/SymbolRef over basic_symbol_iterator/BasicSymbolRef where possible, as the former retain their link to the ObjectFile (rather than a SymbolicFile) and provide more functionality. No test for this: Existing code is working, and we don't have (m)any libObject unit tests. I'll think about how we can test more systematically going forward. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351128 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Object/MachO.h b/include/llvm/Object/MachO.h index 09e0a78de44..c2f4f406293 100644 --- a/include/llvm/Object/MachO.h +++ b/include/llvm/Object/MachO.h @@ -356,7 +356,7 @@ public: basic_symbol_iterator symbol_end() const override; // MachO specific. - basic_symbol_iterator getSymbolByIndex(unsigned Index) const; + symbol_iterator getSymbolByIndex(unsigned Index) const; uint64_t getSymbolIndex(DataRefImpl Symb) const; section_iterator section_begin() const override; diff --git a/lib/Object/MachOObjectFile.cpp b/lib/Object/MachOObjectFile.cpp index 86f29365273..ce4d1cf92e2 100644 --- a/lib/Object/MachOObjectFile.cpp +++ b/lib/Object/MachOObjectFile.cpp @@ -2438,7 +2438,7 @@ basic_symbol_iterator MachOObjectFile::symbol_end() const { return basic_symbol_iterator(SymbolRef(DRI, this)); } -basic_symbol_iterator MachOObjectFile::getSymbolByIndex(unsigned Index) const { +symbol_iterator MachOObjectFile::getSymbolByIndex(unsigned Index) const { MachO::symtab_command Symtab = getSymtabLoadCommand(); if (!SymtabLoadCmd || Index >= Symtab.nsyms) report_fatal_error("Requested symbol index is out of range.");