Minor refinement of VTableBuilder.h: fix wrong indentation, rename a struct field with a more appropriate name

llvm-svn: 194202
This commit is contained in:
Timur Iskhodzhanov 2013-11-07 13:34:02 +00:00
parent e7af1ec97e
commit 9e7f505515
3 changed files with 16 additions and 18 deletions

View File

@ -233,23 +233,21 @@ public:
}
vtable_component_iterator vtable_component_begin() const {
return VTableComponents.get();
return VTableComponents.get();
}
vtable_component_iterator vtable_component_end() const {
return VTableComponents.get()+NumVTableComponents;
return VTableComponents.get() + NumVTableComponents;
}
uint64_t getNumVTableThunks() const {
return NumVTableThunks;
}
uint64_t getNumVTableThunks() const { return NumVTableThunks; }
vtable_thunk_iterator vtable_thunk_begin() const {
return VTableThunks.get();
return VTableThunks.get();
}
vtable_thunk_iterator vtable_thunk_end() const {
return VTableThunks.get()+NumVTableThunks;
return VTableThunks.get() + NumVTableThunks;
}
uint64_t getAddressPoint(BaseSubobject Base) const {
@ -414,27 +412,27 @@ public:
/// This is the offset of the vfptr from the start of the last vbase, or the
/// complete type if there are no virtual bases.
CharUnits VFTableOffset;
CharUnits VFPtrOffset;
/// Method's index in the vftable.
uint64_t Index;
MethodVFTableLocation()
: VBTableIndex(0), VBase(0), VFTableOffset(CharUnits::Zero()),
: VBTableIndex(0), VBase(0), VFPtrOffset(CharUnits::Zero()),
Index(0) {}
MethodVFTableLocation(uint64_t VBTableIndex, const CXXRecordDecl *VBase,
CharUnits VFTableOffset, uint64_t Index)
CharUnits VFPtrOffset, uint64_t Index)
: VBTableIndex(VBTableIndex), VBase(VBase),
VFTableOffset(VFTableOffset), Index(Index) {}
VFPtrOffset(VFPtrOffset), Index(Index) {}
bool operator<(const MethodVFTableLocation &other) const {
if (VBTableIndex != other.VBTableIndex) {
assert(VBase != other.VBase);
return VBTableIndex < other.VBTableIndex;
}
if (VFTableOffset != other.VFTableOffset)
return VFTableOffset < other.VFTableOffset;
if (VFPtrOffset != other.VFPtrOffset)
return VFPtrOffset < other.VFPtrOffset;
if (Index != other.Index)
return Index < other.Index;
return false;

View File

@ -3317,7 +3317,7 @@ void MicrosoftVTableContext::dumpMethodLocations(
IndicesMap[I->second] = MethodName;
}
if (!I->second.VFTableOffset.isZero() || I->second.VBTableIndex != 0)
if (!I->second.VFPtrOffset.isZero() || I->second.VBTableIndex != 0)
HasNonzeroOffset = true;
}
@ -3333,7 +3333,7 @@ void MicrosoftVTableContext::dumpMethodLocations(
I = IndicesMap.begin(),
E = IndicesMap.end();
I != E; ++I) {
CharUnits VFPtrOffset = I->first.VFTableOffset;
CharUnits VFPtrOffset = I->first.VFPtrOffset;
uint64_t VBIndex = I->first.VBTableIndex;
if (HasNonzeroOffset &&
(VFPtrOffset != LastVFPtrOffset || VBIndex != LastVBIndex)) {

View File

@ -128,7 +128,7 @@ public:
// In this case, we just use a generic pointer type.
// FIXME: might want to have a more precise type in the non-virtual
// multiple inheritance case.
if (ML.VBase || !ML.VFTableOffset.isZero())
if (ML.VBase || !ML.VFPtrOffset.isZero())
return 0;
}
return MD->getParent();
@ -600,7 +600,7 @@ llvm::Value *MicrosoftCXXABI::adjustThisArgumentForVirtualCall(
unsigned AS = cast<llvm::PointerType>(This->getType())->getAddressSpace();
llvm::Type *charPtrTy = CGF.Int8Ty->getPointerTo(AS);
CharUnits StaticOffset = ML.VFTableOffset;
CharUnits StaticOffset = ML.VFPtrOffset;
if (ML.VBase) {
bool AvoidVirtualOffset = false;
if (isa<CXXDestructorDecl>(MD) && GD.getDtorType() == Dtor_Base) {
@ -723,7 +723,7 @@ llvm::Value *MicrosoftCXXABI::adjustThisParameterInVirtualFunctionPrologue(
MicrosoftVTableContext::MethodVFTableLocation ML =
CGM.getMicrosoftVTableContext().getMethodVFTableLocation(LookupGD);
CharUnits Adjustment = ML.VFTableOffset;
CharUnits Adjustment = ML.VFPtrOffset;
if (ML.VBase) {
const ASTRecordLayout &DerivedLayout =
CGF.getContext().getASTRecordLayout(MD->getParent());