diff options
| author | Simon Atanasyan <simon@atanasyan.com> | 2014-06-04 05:51:44 +0000 |
|---|---|---|
| committer | Simon Atanasyan <simon@atanasyan.com> | 2014-06-04 05:51:44 +0000 |
| commit | 28a1160bc6b98de930f538d961bd71fc1873320f (patch) | |
| tree | ebd90d708721f7e8a57b0b7fd8c7eea1eb7b82bc /llvm/include | |
| parent | 20f834b9abe9f8a19562dc787d5085e59e57e695 (diff) | |
| download | bcm5719-llvm-28a1160bc6b98de930f538d961bd71fc1873320f.tar.gz bcm5719-llvm-28a1160bc6b98de930f538d961bd71fc1873320f.zip | |
[Object][ELF] Range-based loop simplification.
No functional changes.
llvm-svn: 210164
Diffstat (limited to 'llvm/include')
| -rw-r--r-- | llvm/include/llvm/Object/ELF.h | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/llvm/include/llvm/Object/ELF.h b/llvm/include/llvm/Object/ELF.h index cb3a32a6097..608d937735b 100644 --- a/llvm/include/llvm/Object/ELF.h +++ b/llvm/include/llvm/Object/ELF.h @@ -133,6 +133,7 @@ public: typedef Elf_Vernaux_Impl<ELFT> Elf_Vernaux; typedef Elf_Versym_Impl<ELFT> Elf_Versym; typedef ELFEntityIterator<const Elf_Dyn> Elf_Dyn_Iter; + typedef iterator_range<Elf_Dyn_Iter> Elf_Dyn_Range; typedef ELFEntityIterator<const Elf_Rela> Elf_Rela_Iter; typedef ELFEntityIterator<const Elf_Rel> Elf_Rel_Iter; typedef ELFEntityIterator<const Elf_Shdr> Elf_Shdr_Iter; @@ -342,6 +343,9 @@ public: /// \param NULLEnd use one past the first DT_NULL entry as the end instead of /// the section size. Elf_Dyn_Iter end_dynamic_table(bool NULLEnd = false) const; + Elf_Dyn_Range dynamic_table(bool NULLEnd = false) const { + return make_range(begin_dynamic_table(), end_dynamic_table(NULLEnd)); + } Elf_Sym_Iter begin_dynamic_symbols() const { if (DynSymRegion.Addr) @@ -823,17 +827,13 @@ ELFFile<ELFT>::end_dynamic_table(bool NULLEnd) const { template <class ELFT> StringRef ELFFile<ELFT>::getLoadName() const { if (!dt_soname) { + dt_soname = ""; // Find the DT_SONAME entry - Elf_Dyn_Iter it = begin_dynamic_table(); - Elf_Dyn_Iter ie = end_dynamic_table(); - while (it != ie && it->getTag() != ELF::DT_SONAME) - ++it; - - if (it != ie) { - dt_soname = getDynamicString(it->getVal()); - } else { - dt_soname = ""; - } + for (const auto &Entry : dynamic_table()) + if (Entry.getTag() == ELF::DT_SONAME) { + dt_soname = getDynamicString(Entry.getVal()); + break; + } } return dt_soname; } |

