fix PR6332, allowing an index of zero into a zero sized array

even if the element of the array has no size.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101662 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2010-04-17 19:02:33 +00:00
parent eef6d78be1
commit 34e9d17d1b
2 changed files with 10 additions and 2 deletions

View File

@@ -630,8 +630,8 @@ uint64_t TargetData::getIndexedOffset(const Type *ptrTy, Value* const* Indices,
Ty = cast<SequentialType>(Ty)->getElementType();
// Get the array index and the size of each array element.
int64_t arrayIdx = cast<ConstantInt>(Indices[CurIDX])->getSExtValue();
Result += arrayIdx * (int64_t)getTypeAllocSize(Ty);
if (int64_t arrayIdx = cast<ConstantInt>(Indices[CurIDX])->getSExtValue())
Result += arrayIdx * (int64_t)getTypeAllocSize(Ty);
}
}