forked from OSchip/llvm-project
Add assertion descriptiosn on type mismatches when creating
ConstantArray and ConstantPacked objects. llvm-svn: 16261
This commit is contained in:
parent
0bc8b12734
commit
cb031d9518
|
@ -247,9 +247,10 @@ ConstantArray::ConstantArray(const ArrayType *T,
|
|||
const std::vector<Constant*> &V) : Constant(T) {
|
||||
Operands.reserve(V.size());
|
||||
for (unsigned i = 0, e = V.size(); i != e; ++i) {
|
||||
assert(V[i]->getType() == T->getElementType() ||
|
||||
(T->isAbstract() &&
|
||||
V[i]->getType()->getTypeID() == T->getElementType()->getTypeID()));
|
||||
assert((V[i]->getType() == T->getElementType() ||
|
||||
(T->isAbstract() &&
|
||||
V[i]->getType()->getTypeID() == T->getElementType()->getTypeID())) &&
|
||||
"Initializer for array element doesn't match array element type!");
|
||||
Operands.push_back(Use(V[i], this));
|
||||
}
|
||||
}
|
||||
|
@ -273,9 +274,10 @@ ConstantPacked::ConstantPacked(const PackedType *T,
|
|||
const std::vector<Constant*> &V) : Constant(T) {
|
||||
Operands.reserve(V.size());
|
||||
for (unsigned i = 0, e = V.size(); i != e; ++i) {
|
||||
assert(V[i]->getType() == T->getElementType() ||
|
||||
(T->isAbstract() &&
|
||||
V[i]->getType()->getTypeID() == T->getElementType()->getTypeID()));
|
||||
assert((V[i]->getType() == T->getElementType() ||
|
||||
(T->isAbstract() &&
|
||||
V[i]->getType()->getTypeID() == T->getElementType()->getTypeID())) &&
|
||||
"Initializer for packed element doesn't match packed element type!");
|
||||
Operands.push_back(Use(V[i], this));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue