diff --git a/lib/Transforms/TransformInternals.cpp b/lib/Transforms/TransformInternals.cpp index 56c03b991f0..7aa5564fbee 100644 --- a/lib/Transforms/TransformInternals.cpp +++ b/lib/Transforms/TransformInternals.cpp @@ -56,7 +56,8 @@ const Type *getStructOffsetType(const Type *Ty, unsigned &Offset, ThisOffset = Offset; NextType = getStructOffsetStep(STy, ThisOffset, Indices, TD); } else if (const ArrayType *ATy = dyn_cast(Ty)) { - assert(Offset < TD.getTypeSize(ATy) && "Offset not in composite!"); + assert(Offset == 0 || Offset < TD.getTypeSize(ATy) && + "Offset not in composite!"); NextType = ATy->getElementType(); unsigned ChildSize = TD.getTypeSize(NextType);