Skip to content

Commit c383e9c

Browse files
author
Chen Zheng
committed
address comments
1 parent 6e2d6b9 commit c383e9c

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

llvm/include/llvm/Object/XCOFFObjectFile.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -774,7 +774,7 @@ class XCOFFSymbolRef : public SymbolRef {
774774

775775
XCOFFSymbolRef(DataRefImpl SymEntDataRef,
776776
const XCOFFObjectFile *OwningObjectPtr)
777-
: OwningObjectPtr(OwningObjectPtr) {
777+
: SymbolRef(SymEntDataRef, OwningObjectPtr) {
778778
assert(OwningObjectPtr && "OwningObjectPtr cannot be nullptr!");
779779
assert(SymEntDataRef.p != 0 &&
780780
"Symbol table entry pointer cannot be nullptr!");
@@ -795,8 +795,7 @@ class XCOFFSymbolRef : public SymbolRef {
795795
uint64_t getValue64() const { return Entry64->Value; }
796796

797797
uint64_t getSize() const {
798-
return cast<XCOFFObjectFile>(BasicSymbolRef::getObject())
799-
->getSymbolSize(getRawDataRefImpl());
798+
return getObject()->getSymbolSize(getRawDataRefImpl());
800799
}
801800

802801
#define GETVALUE(X) Entry32 ? Entry32->X : Entry64->X
@@ -834,7 +833,10 @@ class XCOFFSymbolRef : public SymbolRef {
834833
Expected<XCOFFCsectAuxRef> getXCOFFCsectAuxRef() const;
835834

836835
private:
837-
const XCOFFObjectFile *OwningObjectPtr;
836+
const XCOFFObjectFile *getObject() const {
837+
return cast<XCOFFObjectFile>(BasicSymbolRef::getObject());
838+
}
839+
838840
const XCOFFSymbolEntry32 *Entry32 = nullptr;
839841
const XCOFFSymbolEntry64 *Entry64 = nullptr;
840842
};

llvm/lib/Object/XCOFFObjectFile.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1252,15 +1252,15 @@ bool XCOFFSymbolRef::isFunction() const {
12521252
return false;
12531253

12541254
const int16_t SectNum = getSectionNumber();
1255-
Expected<DataRefImpl> SI = OwningObjectPtr->getSectionByNum(SectNum);
1255+
Expected<DataRefImpl> SI = getObject()->getSectionByNum(SectNum);
12561256
if (!SI) {
12571257
// If we could not get the section, then this symbol should not be
12581258
// a function. So consume the error and return `false` to move on.
12591259
consumeError(SI.takeError());
12601260
return false;
12611261
}
12621262

1263-
return (OwningObjectPtr->getSectionFlags(SI.get()) & XCOFF::STYP_TEXT);
1263+
return (getObject()->getSectionFlags(SI.get()) & XCOFF::STYP_TEXT);
12641264
}
12651265

12661266
bool XCOFFSymbolRef::isCsectSymbol() const {
@@ -1279,13 +1279,13 @@ Expected<XCOFFCsectAuxRef> XCOFFSymbolRef::getXCOFFCsectAuxRef() const {
12791279
if (auto Err = NameOrErr.takeError())
12801280
return std::move(Err);
12811281

1282-
uint32_t SymbolIdx = OwningObjectPtr->getSymbolIndex(getEntryAddress());
1282+
uint32_t SymbolIdx = getObject()->getSymbolIndex(getEntryAddress());
12831283
if (!NumberOfAuxEntries) {
12841284
return createError("csect symbol \"" + *NameOrErr + "\" with index " +
12851285
Twine(SymbolIdx) + " contains no auxiliary entry");
12861286
}
12871287

1288-
if (!OwningObjectPtr->is64Bit()) {
1288+
if (!getObject()->is64Bit()) {
12891289
// In XCOFF32, the csect auxilliary entry is always the last auxiliary
12901290
// entry for the symbol.
12911291
uintptr_t AuxAddr = XCOFFObjectFile::getAdvancedSymbolEntryAddress(
@@ -1298,10 +1298,10 @@ Expected<XCOFFCsectAuxRef> XCOFFSymbolRef::getXCOFFCsectAuxRef() const {
12981298
for (uint8_t Index = NumberOfAuxEntries; Index > 0; --Index) {
12991299
uintptr_t AuxAddr = XCOFFObjectFile::getAdvancedSymbolEntryAddress(
13001300
getEntryAddress(), Index);
1301-
if (*OwningObjectPtr->getSymbolAuxType(AuxAddr) ==
1301+
if (*getObject()->getSymbolAuxType(AuxAddr) ==
13021302
XCOFF::SymbolAuxType::AUX_CSECT) {
13031303
#ifndef NDEBUG
1304-
OwningObjectPtr->checkSymbolEntryPointer(AuxAddr);
1304+
getObject()->checkSymbolEntryPointer(AuxAddr);
13051305
#endif
13061306
return XCOFFCsectAuxRef(viewAs<XCOFFCsectAuxEnt64>(AuxAddr));
13071307
}
@@ -1322,10 +1322,10 @@ Expected<StringRef> XCOFFSymbolRef::getName() const {
13221322
if (Entry32->NameInStrTbl.Magic != XCOFFSymbolRef::NAME_IN_STR_TBL_MAGIC)
13231323
return generateXCOFFFixedNameStringRef(Entry32->SymbolName);
13241324

1325-
return OwningObjectPtr->getStringTableEntry(Entry32->NameInStrTbl.Offset);
1325+
return getObject()->getStringTableEntry(Entry32->NameInStrTbl.Offset);
13261326
}
13271327

1328-
return OwningObjectPtr->getStringTableEntry(Entry64->Offset);
1328+
return getObject()->getStringTableEntry(Entry64->Offset);
13291329
}
13301330

13311331
// Explictly instantiate template classes.

0 commit comments

Comments
 (0)