to the declaring class from the nearest virtual base class. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94606
91177308-0d34-0410-b5e6-
96231b3b80d8
(int)VCalls[idx-1], MostDerivedClass->getNameAsCString()));
}
int64_t NonVirtualAdjustment = -VCallOffset[OGD];
+ QualType DerivedType = MD->getThisType(CGM.getContext());
+ QualType BaseType = cast<const CXXMethodDecl>(OGD.getDecl())->getThisType(CGM.getContext());
+ int64_t NonVirtualAdjustment2 = -(getNVOffset(BaseType, DerivedType)/8);
+ if (NonVirtualAdjustment2 != NonVirtualAdjustment) {
+ NonVirtualAdjustment = NonVirtualAdjustment2;
+ }
int64_t VirtualAdjustment =
-((idx + extra + 2) * LLVMPointerWidth / 8);