Fix ivar layout map generation (hopefully).
llvm-svn: 79968
This commit is contained in:
parent
5a532380a1
commit
12e022ddbf
|
@ -3050,7 +3050,12 @@ void CGObjCCommonMac::BuildAggrIvarLayout(const ObjCImplementationDecl *OI,
|
|||
if (RD) {
|
||||
if (Field->isBitField()) {
|
||||
CodeGenTypes::BitFieldInfo Info = CGM.getTypes().getBitFieldInfo(Field);
|
||||
FieldOffset = Layout->getElementOffset(Info.FieldNo);
|
||||
|
||||
const llvm::Type *Ty =
|
||||
CGM.getTypes().ConvertTypeForMemRecursive(Field->getType());
|
||||
uint64_t TypeSize =
|
||||
CGM.getTypes().getTargetData().getTypeAllocSize(Ty);
|
||||
FieldOffset = Info.FieldNo * TypeSize;
|
||||
} else
|
||||
FieldOffset =
|
||||
Layout->getElementOffset(CGM.getTypes().getLLVMFieldNo(Field));
|
||||
|
|
Loading…
Reference in New Issue