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,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) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue