parent
1af3df854f
commit
3d1a09552c
|
|
@ -1367,6 +1367,9 @@ class VTTBuilder {
|
||||||
if (RD->getNumVBases() == 0)
|
if (RD->getNumVBases() == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// Remember the sub-VTT index.
|
||||||
|
SubVTTIndicies[RD] = Inits.size();
|
||||||
|
|
||||||
llvm::Constant *Vtable;
|
llvm::Constant *Vtable;
|
||||||
const CXXRecordDecl *VtableClass;
|
const CXXRecordDecl *VtableClass;
|
||||||
|
|
||||||
|
|
@ -1403,9 +1406,6 @@ class VTTBuilder {
|
||||||
const ASTRecordLayout &Layout = CGM.getContext().getASTRecordLayout(RD);
|
const ASTRecordLayout &Layout = CGM.getContext().getASTRecordLayout(RD);
|
||||||
uint64_t BaseOffset = Offset + Layout.getBaseClassOffset(Base);
|
uint64_t BaseOffset = Offset + Layout.getBaseClassOffset(Base);
|
||||||
|
|
||||||
// Remember the sub-VTT index.
|
|
||||||
SubVTTIndicies[Base] = Inits.size();
|
|
||||||
|
|
||||||
BuildVTT(Base, BaseOffset, MorallyVirtual);
|
BuildVTT(Base, BaseOffset, MorallyVirtual);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1418,9 +1418,6 @@ class VTTBuilder {
|
||||||
const CXXRecordDecl *Base =
|
const CXXRecordDecl *Base =
|
||||||
cast<CXXRecordDecl>(i->getType()->getAs<RecordType>()->getDecl());
|
cast<CXXRecordDecl>(i->getType()->getAs<RecordType>()->getDecl());
|
||||||
if (i->isVirtual() && !SeenVBase.count(Base)) {
|
if (i->isVirtual() && !SeenVBase.count(Base)) {
|
||||||
// Remember the sub-VTT index.
|
|
||||||
SubVTTIndicies[Base] = Inits.size();
|
|
||||||
|
|
||||||
SeenVBase.insert(Base);
|
SeenVBase.insert(Base);
|
||||||
uint64_t BaseOffset = BLayout.getVBaseClassOffset(Base);
|
uint64_t BaseOffset = BLayout.getVBaseClassOffset(Base);
|
||||||
BuildVTT(Base, BaseOffset, true);
|
BuildVTT(Base, BaseOffset, true);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue