diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/VMCore/Constants.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/VMCore/Constants.cpp b/lib/VMCore/Constants.cpp index ab4bdb390b..eb93da3c1d 100644 --- a/lib/VMCore/Constants.cpp +++ b/lib/VMCore/Constants.cpp @@ -213,7 +213,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()); + assert(V[i]->getType() == T->getElementType() || + (T->isAbstract() && + V[i]->getType()->getPrimitiveID() == + T->getElementType()->getPrimitiveID())); Operands.push_back(Use(V[i], this)); } } |