summaryrefslogtreecommitdiff
path: root/tools/llvm-objdump
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2014-03-17 07:28:19 +0000
committerAlexey Samsonov <samsonov@google.com>2014-03-17 07:28:19 +0000
commit133aacf0dd1d7d8c7828594e5cd2e9595e0331ed (patch)
treec23ad0adb1e11ad755918cc3c24bd740a85b5c55 /tools/llvm-objdump
parent6e3aceffd39eb8f7e750b5a8364269fc8efc0e53 (diff)
downloadllvm-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.cpp19
-rw-r--r--tools/llvm-objdump/llvm-objdump.cpp31
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;