summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorSimon Atanasyan <simon@atanasyan.com>2014-06-04 05:51:44 +0000
committerSimon Atanasyan <simon@atanasyan.com>2014-06-04 05:51:44 +0000
commit28a1160bc6b98de930f538d961bd71fc1873320f (patch)
treeebd90d708721f7e8a57b0b7fd8c7eea1eb7b82bc /llvm/include
parent20f834b9abe9f8a19562dc787d5085e59e57e695 (diff)
downloadbcm5719-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.h20
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;
}
OpenPOWER on IntegriCloud