Convert the BaseOffsetInLayoutClass parameter of ComputeThisAdjustment() to

CharUnits. No change in functionality intended.

llvm-svn: 128384
This commit is contained in:
Ken Dyck 2011-03-27 19:03:44 +00:00
parent 7d876f3649
commit f736d9cb75
1 changed files with 8 additions and 9 deletions

View File

@ -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,8 +1667,9 @@ 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,
Overrider); Context.toCharUnitsFromBits(BaseOffsetInLayoutClass),
Overrider);
if (ThisAdjustment.VCallOffsetOffset && if (ThisAdjustment.VCallOffsetOffset &&
Overrider.Method->getParent() == MostDerivedClass) { Overrider.Method->getParent() == MostDerivedClass) {