[llvm] [XCOFF][OBJECT] get symbol size by calling XCOFF interfaces (PR #67304)
James Henderson via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 17 00:45:54 PDT 2023
================
@@ -761,33 +768,47 @@ struct XCOFFSymbolEntry64 {
uint8_t NumberOfAuxEntries;
};
-class XCOFFSymbolRef {
+class XCOFFSymbolRef : public SymbolRef {
public:
enum { NAME_IN_STR_TBL_MAGIC = 0x0 };
XCOFFSymbolRef(DataRefImpl SymEntDataRef,
const XCOFFObjectFile *OwningObjectPtr)
- : OwningObjectPtr(OwningObjectPtr) {
+ : SymbolRef(SymEntDataRef, OwningObjectPtr) {
assert(OwningObjectPtr && "OwningObjectPtr cannot be nullptr!");
assert(SymEntDataRef.p != 0 &&
"Symbol table entry pointer cannot be nullptr!");
+ }
- if (OwningObjectPtr->is64Bit())
- Entry64 = reinterpret_cast<const XCOFFSymbolEntry64 *>(SymEntDataRef.p);
- else
- Entry32 = reinterpret_cast<const XCOFFSymbolEntry32 *>(SymEntDataRef.p);
+ const XCOFFSymbolEntry32 *getSymbol32() const {
+ return reinterpret_cast<const XCOFFSymbolEntry32 *>(getRawDataRefImpl().p);
+ }
+ const XCOFFSymbolEntry64 *getSymbol64() const {
----------------
jh7370 wrote:
Nit: multiline functions should be separated by blank lines.
https://github.com/llvm/llvm-project/pull/67304
More information about the llvm-commits
mailing list