From 6eb5d8783f0488cd9c73d65e262dff127fb94c84 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Fri, 26 Jun 2015 13:24:23 +0000 Subject: [PATCH] Simplify isObject. NFC. llvm-svn: 240783 --- llvm/tools/llvm-nm/llvm-nm.cpp | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/llvm/tools/llvm-nm/llvm-nm.cpp b/llvm/tools/llvm-nm/llvm-nm.cpp index 6105a0f..d6386ad 100644 --- a/llvm/tools/llvm-nm/llvm-nm.cpp +++ b/llvm/tools/llvm-nm/llvm-nm.cpp @@ -777,26 +777,12 @@ static char getSymbolNMTypeChar(IRObjectFile &Obj, basic_symbol_iterator I) { return getSymbolNMTypeChar(*GV); } -template -static bool isELFObject(ELFObjectFile &Obj, symbol_iterator I) { - typedef typename ELFObjectFile::Elf_Sym Elf_Sym; - - DataRefImpl Symb = I->getRawDataRefImpl(); - const Elf_Sym *ESym = Obj.getSymbol(Symb); - - return ESym->getType() == ELF::STT_OBJECT; -} - static bool isObject(SymbolicFile &Obj, basic_symbol_iterator I) { - if (ELF32LEObjectFile *ELF = dyn_cast(&Obj)) - return isELFObject(*ELF, I); - if (ELF64LEObjectFile *ELF = dyn_cast(&Obj)) - return isELFObject(*ELF, I); - if (ELF32BEObjectFile *ELF = dyn_cast(&Obj)) - return isELFObject(*ELF, I); - if (ELF64BEObjectFile *ELF = dyn_cast(&Obj)) - return isELFObject(*ELF, I); - return false; + auto *ELF = dyn_cast(&Obj); + if (!ELF) + return false; + + return elf_symbol_iterator(I)->getELFType() == ELF::STT_OBJECT; } static char getNMTypeChar(SymbolicFile &Obj, basic_symbol_iterator I) { -- 2.7.4