diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-04-09 01:04:06 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-04-09 01:04:06 +0000 |
commit | eb8b211e61bb4f481e47c64c02250efaa56f1b4b (patch) | |
tree | b2fcfbdf0a6f74c323f685fa9c93ce0b0641f239 | |
parent | 93a21a8cfe7f898e22f8f0f2ba4ff97289685640 (diff) | |
download | bcm5719-llvm-eb8b211e61bb4f481e47c64c02250efaa56f1b4b.tar.gz bcm5719-llvm-eb8b211e61bb4f481e47c64c02250efaa56f1b4b.zip |
More uses for SymbolTableEntryBase.
llvm-svn: 179076
-rw-r--r-- | llvm/lib/Object/MachOObjectFile.cpp | 44 |
1 files changed, 9 insertions, 35 deletions
diff --git a/llvm/lib/Object/MachOObjectFile.cpp b/llvm/lib/Object/MachOObjectFile.cpp index ae30105a93c..e1eec365983 100644 --- a/llvm/lib/Object/MachOObjectFile.cpp +++ b/llvm/lib/Object/MachOObjectFile.cpp @@ -293,18 +293,9 @@ error_code MachOObjectFile::getSymbolSize(DataRefImpl DRI, error_code MachOObjectFile::getSymbolNMTypeChar(DataRefImpl DRI, char &Result) const { - uint8_t Type, Flags; - if (is64Bit()) { - const MachOFormat::SymbolTableEntry<true> *Entry = - getSymbol64TableEntry(DRI); - Type = Entry->Type; - Flags = Entry->Flags; - } else { - const MachOFormat::SymbolTableEntry<false> *Entry = - getSymbolTableEntry(DRI); - Type = Entry->Type; - Flags = Entry->Flags; - } + const MachOFormat::SymbolTableEntryBase *Entry = getSymbolTableEntryBase(DRI); + uint8_t Type = Entry->Type; + uint16_t Flags = Entry->Flags; char Char; switch (Type & macho::STF_TypeMask) { @@ -328,19 +319,9 @@ error_code MachOObjectFile::getSymbolNMTypeChar(DataRefImpl DRI, error_code MachOObjectFile::getSymbolFlags(DataRefImpl DRI, uint32_t &Result) const { - uint16_t MachOFlags; - uint8_t MachOType; - if (is64Bit()) { - const MachOFormat::SymbolTableEntry<true> *Entry = - getSymbol64TableEntry(DRI); - MachOFlags = Entry->Flags; - MachOType = Entry->Type; - } else { - const MachOFormat::SymbolTableEntry<false> *Entry = - getSymbolTableEntry(DRI); - MachOFlags = Entry->Flags; - MachOType = Entry->Type; - } + const MachOFormat::SymbolTableEntryBase *Entry = getSymbolTableEntryBase(DRI); + uint8_t MachOType = Entry->Type; + uint16_t MachOFlags = Entry->Flags; // TODO: Correctly set SF_ThreadLocal Result = SymbolRef::SF_None; @@ -368,16 +349,9 @@ error_code MachOObjectFile::getSymbolFlags(DataRefImpl DRI, error_code MachOObjectFile::getSymbolSection(DataRefImpl Symb, section_iterator &Res) const { - uint8_t index; - if (is64Bit()) { - const MachOFormat::SymbolTableEntry<true> *Entry = - getSymbol64TableEntry(Symb); - index = Entry->SectionIndex; - } else { - const MachOFormat::SymbolTableEntry<false> *Entry = - getSymbolTableEntry(Symb); - index = Entry->SectionIndex; - } + const MachOFormat::SymbolTableEntryBase *Entry = + getSymbolTableEntryBase(Symb); + uint8_t index = Entry->SectionIndex; if (index == 0) Res = end_sections(); |