diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2010-03-06 20:26:48 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2010-03-06 20:26:48 +0000 |
commit | e20ab4a03c662a573b6be98c6da4be3031a874ba (patch) | |
tree | 795ddcd31bc5efc3564cf124dc7cd8b7a78992d8 | |
parent | e765f2b5e3f260c96579859f503a4e5e76cb4c1c (diff) | |
download | llvm-e20ab4a03c662a573b6be98c6da4be3031a874ba.tar.gz |
Add verification of union types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97889 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/VMCore/Verifier.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp index 35625a593963..721e96a0f552 100644 --- a/lib/VMCore/Verifier.cpp +++ b/lib/VMCore/Verifier.cpp @@ -1525,6 +1525,15 @@ void Verifier::VerifyType(const Type *Ty) { VerifyType(ElTy); } } break; + case Type::UnionTyID: { + const UnionType *UTy = cast<UnionType>(Ty); + for (unsigned i = 0, e = UTy->getNumElements(); i != e; ++i) { + const Type *ElTy = UTy->getElementType(i); + Assert2(UnionType::isValidElementType(ElTy), + "Union type with invalid element type", ElTy, UTy); + VerifyType(ElTy); + } + } break; case Type::ArrayTyID: { const ArrayType *ATy = cast<ArrayType>(Ty); Assert1(ArrayType::isValidElementType(ATy->getElementType()), |