Simplify getSymbolType.
[oota-llvm.git] / tools / llvm-objdump / llvm-objdump.cpp
index 518d6de34fac323cc6f297f544f52fe7d54cf434..61e75a7899a9746cca72130346ccf0a052c48113 100644 (file)
@@ -1078,13 +1078,11 @@ void llvm::PrintSymbolTable(const ObjectFile *o) {
   }
   for (const SymbolRef &Symbol : o->symbols()) {
     uint64_t Address;
-    SymbolRef::Type Type;
+    SymbolRef::Type Type = Symbol.getType();
     uint32_t Flags = Symbol.getFlags();
     section_iterator Section = o->section_end();
     if (error(Symbol.getAddress(Address)))
       continue;
-    if (error(Symbol.getType(Type)))
-      continue;
     if (error(Symbol.getSection(Section)))
       continue;
     StringRef Name;
@@ -1149,8 +1147,8 @@ void llvm::PrintSymbolTable(const ObjectFile *o) {
 
     outs() << '\t';
     if (Common || isa<ELFObjectFileBase>(o)) {
-      uint64_t Val = Common ? Symbol.getAlignment()
-                            : cast<ELFObjectFileBase>(o)->getSymbolSize(Symbol);
+      uint64_t Val =
+          Common ? Symbol.getAlignment() : ELFSymbolRef(Symbol).getSize();
       outs() << format("\t %08" PRIx64 " ", Val);
     }