diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-18 21:14:57 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-18 21:14:57 +0000 |
commit | 6c59006684aa23429900d175e0f0261c7cd594e4 (patch) | |
tree | a2bcd209be7450f050f28a34d3c7bfe63d195bad | |
parent | d8fc64e0d1f09abb3265a6ff264629ca33a52c6a (diff) | |
download | llvm-6c59006684aa23429900d175e0f0261c7cd594e4.tar.gz llvm-6c59006684aa23429900d175e0f0261c7cd594e4.tar.bz2 llvm-6c59006684aa23429900d175e0f0261c7cd594e4.tar.xz |
Add a symbols() range and use a range loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211222 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Object/SymbolicFile.h | 4 | ||||
-rw-r--r-- | tools/llvm-ar/llvm-ar.cpp | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/include/llvm/Object/SymbolicFile.h b/include/llvm/Object/SymbolicFile.h index 1133736945..40015ec9f6 100644 --- a/include/llvm/Object/SymbolicFile.h +++ b/include/llvm/Object/SymbolicFile.h @@ -136,6 +136,10 @@ public: basic_symbol_iterator symbol_end() const { return symbol_end_impl(); } + typedef iterator_range<basic_symbol_iterator> basic_symbol_iterator_range; + basic_symbol_iterator_range symbols() const { + return basic_symbol_iterator_range(symbol_begin(), symbol_end()); + } // construction aux. static ErrorOr<SymbolicFile *> createIRObjectFile(MemoryBuffer *Object, diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp index 920a4701b2..80a977c30b 100644 --- a/tools/llvm-ar/llvm-ar.cpp +++ b/tools/llvm-ar/llvm-ar.cpp @@ -710,17 +710,15 @@ static void writeSymbolTable( print32BE(Out, 0); } - for (object::basic_symbol_iterator I = Obj->symbol_begin(), - E = Obj->symbol_end(); - I != E; ++I) { - uint32_t Symflags = I->getFlags(); + for (const object::BasicSymbolRef &S : Obj->symbols()) { + uint32_t Symflags = S.getFlags(); if (Symflags & object::SymbolRef::SF_FormatSpecific) continue; if (!(Symflags & object::SymbolRef::SF_Global)) continue; if (Symflags & object::SymbolRef::SF_Undefined) continue; - failIfError(I->printName(NameOS)); + failIfError(S.printName(NameOS)); NameOS << '\0'; ++NumSyms; MemberOffsetRefs.push_back(std::make_pair(Out.tell(), MemberNum)); |