summaryrefslogtreecommitdiff
path: root/lib/MC/MCObjectSymbolizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/MC/MCObjectSymbolizer.cpp')
-rw-r--r--lib/MC/MCObjectSymbolizer.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/MC/MCObjectSymbolizer.cpp b/lib/MC/MCObjectSymbolizer.cpp
index ee2d9553ec..dc1253d629 100644
--- a/lib/MC/MCObjectSymbolizer.cpp
+++ b/lib/MC/MCObjectSymbolizer.cpp
@@ -153,14 +153,17 @@ tryAddingSymbolicOperand(MCInst &MI, raw_ostream &cStream,
return false;
uint64_t UValue = Value;
// FIXME: map instead of looping each time?
- for (symbol_iterator SI = Obj->symbol_begin(), SE = Obj->symbol_end();
- SI != SE; ++SI) {
- uint64_t SymAddr; SI->getAddress(SymAddr);
- uint64_t SymSize; SI->getSize(SymSize);
- StringRef SymName; SI->getName(SymName);
- SymbolRef::Type SymType; SI->getType(SymType);
- if (SymAddr == UnknownAddressOrSize || SymSize == UnknownAddressOrSize
- || SymName.empty() || SymType != SymbolRef::ST_Function)
+ for (const SymbolRef &Symbol : Obj->symbols()) {
+ uint64_t SymAddr;
+ Symbol.getAddress(SymAddr);
+ uint64_t SymSize;
+ Symbol.getSize(SymSize);
+ StringRef SymName;
+ Symbol.getName(SymName);
+ SymbolRef::Type SymType;
+ Symbol.getType(SymType);
+ if (SymAddr == UnknownAddressOrSize || SymSize == UnknownAddressOrSize ||
+ SymName.empty() || SymType != SymbolRef::ST_Function)
continue;
if ( SymAddr == UValue ||