Add a function for getting the vtable address point of a class.
llvm-svn: 90674
This commit is contained in:
parent
b694f05ffb
commit
c8e39ec79f
|
|
@ -1075,6 +1075,13 @@ int64_t CGVtableInfo::getVirtualBaseOffsetIndex(const CXXRecordDecl *RD,
|
|||
return I->second;
|
||||
}
|
||||
|
||||
uint64_t CGVtableInfo::getVtableAddressPoint(const CXXRecordDecl *RD) {
|
||||
uint64_t AddressPoint =
|
||||
(*(*(CGM.AddressPoints[RD]))[RD])[std::make_pair(RD, 0)];
|
||||
|
||||
return AddressPoint;
|
||||
}
|
||||
|
||||
llvm::Constant *CodeGenModule::GenerateVtable(const CXXRecordDecl *LayoutClass,
|
||||
const CXXRecordDecl *RD,
|
||||
uint64_t Offset) {
|
||||
|
|
|
|||
|
|
@ -113,6 +113,11 @@ public:
|
|||
int64_t getVirtualBaseOffsetIndex(const CXXRecordDecl *RD,
|
||||
const CXXRecordDecl *VBase);
|
||||
|
||||
/// getVtableAddressPoint - returns the address point of the vtable for the
|
||||
/// given record decl.
|
||||
/// FIXME: This should return a list of address points.
|
||||
uint64_t getVtableAddressPoint(const CXXRecordDecl *RD);
|
||||
|
||||
llvm::Constant *getVtable(const CXXRecordDecl *RD);
|
||||
llvm::Constant *getCtorVtable(const CXXRecordDecl *RD,
|
||||
const CXXRecordDecl *Class, uint64_t Offset);
|
||||
|
|
|
|||
Loading…
Reference in New Issue