// Otherwise, create the struct layout. Because it is variable length, we
// malloc it, then use placement new.
- unsigned NumElts = Ty->getNumElements();
+ int NumElts = Ty->getNumElements();
StructLayout *L =
(StructLayout *)malloc(sizeof(StructLayout)+(NumElts-1)*sizeof(uint64_t));
unsigned char Alignment;
Size = getTypeSize(ATy->getElementType());
Alignment = getABITypeAlignment(ATy->getElementType());
- unsigned AlignedSize = (Size + Alignment - 1)/Alignment*Alignment;
+ uint64_t AlignedSize = (Size + Alignment - 1)/Alignment*Alignment;
return AlignedSize*ATy->getNumElements();
}
case Type::StructTyID: {
TI = gep_type_begin(ptrTy, Indices, Indices+NumIndices);
for (unsigned CurIDX = 0; CurIDX != NumIndices; ++CurIDX, ++TI) {
if (const StructType *STy = dyn_cast<StructType>(*TI)) {
- assert(Indices[CurIDX]->getType() == Type::Int32Ty &&"Illegal struct idx");
+ assert(Indices[CurIDX]->getType() == Type::Int32Ty &&
+ "Illegal struct idx");
unsigned FieldNo = cast<ConstantInt>(Indices[CurIDX])->getZExtValue();
// Get structure layout information...