From 49e7edc0fabf9f2da9bc69f5aeb17f6019a1b8ab Mon Sep 17 00:00:00 2001 From: Alexander Potapenko Date: Tue, 14 Oct 2014 13:40:44 +0000 Subject: [PATCH 1/1] [llvm-symbolizer] Minor typedef cleanup. NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219682 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvm-symbolizer/LLVMSymbolize.cpp | 27 +++++++++++++------------ tools/llvm-symbolizer/LLVMSymbolize.h | 16 ++++++--------- 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/tools/llvm-symbolizer/LLVMSymbolize.cpp b/tools/llvm-symbolizer/LLVMSymbolize.cpp index 2606beac17b..f1dccfdc40a 100644 --- a/tools/llvm-symbolizer/LLVMSymbolize.cpp +++ b/tools/llvm-symbolizer/LLVMSymbolize.cpp @@ -85,7 +85,7 @@ void ModuleInfo::addSymbol(const SymbolRef &Symbol) { SymbolName = SymbolName.drop_front(); // FIXME: If a function has alias, there are two entries in symbol table // with same address size. Make sure we choose the correct one. - SymbolMapTy &M = SymbolType == SymbolRef::ST_Function ? Functions : Objects; + auto &M = SymbolType == SymbolRef::ST_Function ? Functions : Objects; SymbolDesc SD = { SymbolAddress, SymbolSize }; M.insert(std::make_pair(SD, SymbolName)); } @@ -93,19 +93,20 @@ void ModuleInfo::addSymbol(const SymbolRef &Symbol) { bool ModuleInfo::getNameFromSymbolTable(SymbolRef::Type Type, uint64_t Address, std::string &Name, uint64_t &Addr, uint64_t &Size) const { - const SymbolMapTy &M = Type == SymbolRef::ST_Function ? Functions : Objects; - if (M.empty()) + const auto &SymbolMap = Type == SymbolRef::ST_Function ? Functions : Objects; + if (SymbolMap.empty()) return false; SymbolDesc SD = { Address, Address }; - SymbolMapTy::const_iterator it = M.upper_bound(SD); - if (it == M.begin()) + auto SymbolIterator = SymbolMap.upper_bound(SD); + if (SymbolIterator == SymbolMap.begin()) return false; - --it; - if (it->first.Size != 0 && it->first.Addr + it->first.Size <= Address) + --SymbolIterator; + if (SymbolIterator->first.Size != 0 && + SymbolIterator->first.Addr + SymbolIterator->first.Size <= Address) return false; - Name = it->second.str(); - Addr = it->first.Addr; - Size = it->first.Size; + Name = SymbolIterator->second.str(); + Addr = SymbolIterator->first.Addr; + Size = SymbolIterator->first.Size; return true; } @@ -295,7 +296,7 @@ static bool getGNUDebuglinkContents(const Binary *Bin, std::string &DebugName, LLVMSymbolizer::BinaryPair LLVMSymbolizer::getOrCreateBinary(const std::string &Path) { - BinaryMapTy::iterator I = BinaryForPath.find(Path); + const auto &I = BinaryForPath.find(Path); if (I != BinaryForPath.end()) return I->second; Binary *Bin = nullptr; @@ -348,7 +349,7 @@ LLVMSymbolizer::getObjectFileFromBinary(Binary *Bin, const std::string &ArchName return nullptr; ObjectFile *Res = nullptr; if (MachOUniversalBinary *UB = dyn_cast(Bin)) { - ObjectFileForArchMapTy::iterator I = ObjectFileForArch.find( + const auto &I = ObjectFileForArch.find( std::make_pair(UB, ArchName)); if (I != ObjectFileForArch.end()) return I->second; @@ -367,7 +368,7 @@ LLVMSymbolizer::getObjectFileFromBinary(Binary *Bin, const std::string &ArchName ModuleInfo * LLVMSymbolizer::getOrCreateModuleInfo(const std::string &ModuleName) { - ModuleMapTy::iterator I = Modules.find(ModuleName); + const auto &I = Modules.find(ModuleName); if (I != Modules.end()) return I->second; std::string BinaryName = ModuleName; diff --git a/tools/llvm-symbolizer/LLVMSymbolize.h b/tools/llvm-symbolizer/LLVMSymbolize.h index a56f1329fd6..17b78dc5204 100644 --- a/tools/llvm-symbolizer/LLVMSymbolize.h +++ b/tools/llvm-symbolizer/LLVMSymbolize.h @@ -82,13 +82,10 @@ private: } // Owns module info objects. - typedef std::map ModuleMapTy; - ModuleMapTy Modules; - typedef std::map BinaryMapTy; - BinaryMapTy BinaryForPath; - typedef std::map, ObjectFile *> - ObjectFileForArchMapTy; - ObjectFileForArchMapTy ObjectFileForArch; + std::map Modules; + std::map BinaryForPath; + std::map, ObjectFile *> + ObjectFileForArch; Options Opts; static const char kBadString[]; @@ -122,9 +119,8 @@ private: return s1.Addr < s2.Addr; } }; - typedef std::map SymbolMapTy; - SymbolMapTy Functions; - SymbolMapTy Objects; + std::map Functions; + std::map Objects; }; } // namespace symbolize -- 2.34.1