Assert that ConstantArrays are created with correctly-typed elements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83168 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jeffrey Yasskin 2009-09-30 21:08:08 +00:00
parent 5184635eda
commit 1fb613c43d

View File

@ -482,6 +482,10 @@ ConstantArray::ConstantArray(const ArrayType *T,
Constant *ConstantArray::get(const ArrayType *Ty,
const std::vector<Constant*> &V) {
for (unsigned i = 0, e = V.size(); i != e; ++i) {
assert(V[i]->getType() == Ty->getElementType() &&
"Wrong type in array element initializer");
}
LLVMContextImpl *pImpl = Ty->getContext().pImpl;
// If this is an all-zero array, return a ConstantAggregateZero object
if (!V.empty()) {
@ -2140,4 +2144,3 @@ void ConstantExpr::replaceUsesOfWithOnConstant(Value *From, Value *ToV,
// Delete the old constant!
destroyConstant();
}