diff options
author | Alexey Samsonov <samsonov@google.com> | 2014-03-17 07:28:19 +0000 |
---|---|---|
committer | Alexey Samsonov <samsonov@google.com> | 2014-03-17 07:28:19 +0000 |
commit | 133aacf0dd1d7d8c7828594e5cd2e9595e0331ed (patch) | |
tree | c23ad0adb1e11ad755918cc3c24bd740a85b5c55 /tools/llvm-objdump | |
parent | 6e3aceffd39eb8f7e750b5a8364269fc8efc0e53 (diff) | |
download | llvm-133aacf0dd1d7d8c7828594e5cd2e9595e0331ed.tar.gz llvm-133aacf0dd1d7d8c7828594e5cd2e9595e0331ed.tar.bz2 llvm-133aacf0dd1d7d8c7828594e5cd2e9595e0331ed.tar.xz |
[C++11] Introduce ObjectFile::symbols() to use range-based loops.
Reviewers: rafael
Reviewed By: rafael
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D3081
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204031 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-objdump')
-rw-r--r-- | tools/llvm-objdump/MachODump.cpp | 19 | ||||
-rw-r--r-- | tools/llvm-objdump/llvm-objdump.cpp | 31 |
2 files changed, 25 insertions, 25 deletions
diff --git a/tools/llvm-objdump/MachODump.cpp b/tools/llvm-objdump/MachODump.cpp index e5247a64b0..89b038fc06 100644 --- a/tools/llvm-objdump/MachODump.cpp +++ b/tools/llvm-objdump/MachODump.cpp @@ -146,17 +146,14 @@ static void DumpDataInCode(const char *bytes, uint64_t Size, } } -static void -getSectionsAndSymbols(const MachO::mach_header Header, - MachOObjectFile *MachOObj, - std::vector<SectionRef> &Sections, - std::vector<SymbolRef> &Symbols, - SmallVectorImpl<uint64_t> &FoundFns, - uint64_t &BaseSegmentAddress) { - for (symbol_iterator SI = MachOObj->symbol_begin(), - SE = MachOObj->symbol_end(); - SI != SE; ++SI) - Symbols.push_back(*SI); +static void getSectionsAndSymbols(const MachO::mach_header Header, + MachOObjectFile *MachOObj, + std::vector<SectionRef> &Sections, + std::vector<SymbolRef> &Symbols, + SmallVectorImpl<uint64_t> &FoundFns, + uint64_t &BaseSegmentAddress) { + for (const SymbolRef &Symbol : MachOObj->symbols()) + Symbols.push_back(Symbol); for (const SectionRef &Section : MachOObj->sections()) { StringRef SectName; diff --git a/tools/llvm-objdump/llvm-objdump.cpp b/tools/llvm-objdump/llvm-objdump.cpp index 9f6ea35eaf..dab242cf65 100644 --- a/tools/llvm-objdump/llvm-objdump.cpp +++ b/tools/llvm-objdump/llvm-objdump.cpp @@ -408,13 +408,12 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) { break; // Make a list of all the symbols in this section. - std::vector<std::pair<uint64_t, StringRef> > Symbols; - for (symbol_iterator SI = Obj->symbol_begin(), SE = Obj->symbol_end(); - SI != SE; ++SI) { + std::vector<std::pair<uint64_t, StringRef>> Symbols; + for (const SymbolRef &Symbol : Obj->symbols()) { bool contains; - if (!error(Section.containsSymbol(*SI, contains)) && contains) { + if (!error(Section.containsSymbol(Symbol, contains)) && contains) { uint64_t Address; - if (error(SI->getAddress(Address))) + if (error(Symbol.getAddress(Address))) break; if (Address == UnknownAddressOrSize) continue; @@ -423,7 +422,7 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) { continue; StringRef Name; - if (error(SI->getName(Name))) + if (error(Symbol.getName(Name))) break; Symbols.push_back(std::make_pair(Address, Name)); } @@ -703,19 +702,23 @@ static void PrintSymbolTable(const ObjectFile *o) { if (const COFFObjectFile *coff = dyn_cast<const COFFObjectFile>(o)) PrintCOFFSymbolTable(coff); else { - for (symbol_iterator si = o->symbol_begin(), se = o->symbol_end(); - si != se; ++si) { + for (const SymbolRef &Symbol : o->symbols()) { StringRef Name; uint64_t Address; SymbolRef::Type Type; uint64_t Size; - uint32_t Flags = si->getFlags(); + uint32_t Flags = Symbol.getFlags(); section_iterator Section = o->section_end(); - if (error(si->getName(Name))) continue; - if (error(si->getAddress(Address))) continue; - if (error(si->getType(Type))) continue; - if (error(si->getSize(Size))) continue; - if (error(si->getSection(Section))) continue; + if (error(Symbol.getName(Name))) + continue; + if (error(Symbol.getAddress(Address))) + continue; + if (error(Symbol.getType(Type))) + continue; + if (error(Symbol.getSize(Size))) + continue; + if (error(Symbol.getSection(Section))) + continue; bool Global = Flags & SymbolRef::SF_Global; bool Weak = Flags & SymbolRef::SF_Weak; |