Convert the BaseOffsetInLayoutClass parameter of ComputeThisAdjustment() to
CharUnits. No change in functionality intended. llvm-svn: 128384
This commit is contained in:
parent
7d876f3649
commit
f736d9cb75
|
|
@ -1073,7 +1073,7 @@ private:
|
||||||
/// final overrider.
|
/// final overrider.
|
||||||
ThisAdjustment
|
ThisAdjustment
|
||||||
ComputeThisAdjustment(const CXXMethodDecl *MD,
|
ComputeThisAdjustment(const CXXMethodDecl *MD,
|
||||||
uint64_t BaseOffsetInLayoutClass,
|
CharUnits BaseOffsetInLayoutClass,
|
||||||
FinalOverriders::OverriderInfo Overrider);
|
FinalOverriders::OverriderInfo Overrider);
|
||||||
|
|
||||||
/// AddMethod - Add a single virtual member function to the vtable
|
/// AddMethod - Add a single virtual member function to the vtable
|
||||||
|
|
@ -1276,8 +1276,7 @@ void VTableBuilder::ComputeThisAdjustments() {
|
||||||
}
|
}
|
||||||
|
|
||||||
ThisAdjustment ThisAdjustment =
|
ThisAdjustment ThisAdjustment =
|
||||||
ComputeThisAdjustment(MD,
|
ComputeThisAdjustment(MD, MethodInfo.BaseOffsetInLayoutClass, Overrider);
|
||||||
Context.toBits(MethodInfo.BaseOffsetInLayoutClass), Overrider);
|
|
||||||
|
|
||||||
if (ThisAdjustment.isEmpty())
|
if (ThisAdjustment.isEmpty())
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -1401,15 +1400,14 @@ VTableBuilder::ComputeThisAdjustmentBaseOffset(BaseSubobject Base,
|
||||||
|
|
||||||
ThisAdjustment
|
ThisAdjustment
|
||||||
VTableBuilder::ComputeThisAdjustment(const CXXMethodDecl *MD,
|
VTableBuilder::ComputeThisAdjustment(const CXXMethodDecl *MD,
|
||||||
uint64_t BaseOffsetInLayoutClass,
|
CharUnits BaseOffsetInLayoutClass,
|
||||||
FinalOverriders::OverriderInfo Overrider) {
|
FinalOverriders::OverriderInfo Overrider) {
|
||||||
// Ignore adjustments for pure virtual member functions.
|
// Ignore adjustments for pure virtual member functions.
|
||||||
if (Overrider.Method->isPure())
|
if (Overrider.Method->isPure())
|
||||||
return ThisAdjustment();
|
return ThisAdjustment();
|
||||||
|
|
||||||
BaseSubobject OverriddenBaseSubobject(MD->getParent(),
|
BaseSubobject OverriddenBaseSubobject(MD->getParent(),
|
||||||
Context.toCharUnitsFromBits(
|
BaseOffsetInLayoutClass);
|
||||||
BaseOffsetInLayoutClass));
|
|
||||||
|
|
||||||
BaseSubobject OverriderBaseSubobject(Overrider.Method->getParent(),
|
BaseSubobject OverriderBaseSubobject(Overrider.Method->getParent(),
|
||||||
Overrider.Offset);
|
Overrider.Offset);
|
||||||
|
|
@ -1669,7 +1667,8 @@ VTableBuilder::AddMethods(BaseSubobject Base, uint64_t BaseOffsetInLayoutClass,
|
||||||
if (!isBuildingConstructorVTable() && OverriddenMD != MD) {
|
if (!isBuildingConstructorVTable() && OverriddenMD != MD) {
|
||||||
// Compute the this adjustment.
|
// Compute the this adjustment.
|
||||||
ThisAdjustment ThisAdjustment =
|
ThisAdjustment ThisAdjustment =
|
||||||
ComputeThisAdjustment(OverriddenMD, BaseOffsetInLayoutClass,
|
ComputeThisAdjustment(OverriddenMD,
|
||||||
|
Context.toCharUnitsFromBits(BaseOffsetInLayoutClass),
|
||||||
Overrider);
|
Overrider);
|
||||||
|
|
||||||
if (ThisAdjustment.VCallOffsetOffset &&
|
if (ThisAdjustment.VCallOffsetOffset &&
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue