From 133aacf0dd1d7d8c7828594e5cd2e9595e0331ed Mon Sep 17 00:00:00 2001 From: Alexey Samsonov Date: Mon, 17 Mar 2014 07:28:19 +0000 Subject: [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 --- tools/llvm-objdump/MachODump.cpp | 19 ++++++++----------- tools/llvm-objdump/llvm-objdump.cpp | 31 +++++++++++++++++-------------- 2 files changed, 25 insertions(+), 25 deletions(-) (limited to 'tools/llvm-objdump') 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 &Sections, - std::vector &Symbols, - SmallVectorImpl &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 &Sections, + std::vector &Symbols, + SmallVectorImpl &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 > Symbols; - for (symbol_iterator SI = Obj->symbol_begin(), SE = Obj->symbol_end(); - SI != SE; ++SI) { + std::vector> 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(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; -- cgit v1.2.3