diff options
| author | Dan Gohman <gohman@apple.com> | 2010-08-23 22:32:05 +0000 |
|---|---|---|
| committer | Dan Gohman <gohman@apple.com> | 2010-08-23 22:32:05 +0000 |
| commit | 5d29673855ea85a8ab5d6d0cec65c8d26bb5f039 (patch) | |
| tree | b66d255868327540535204057e76c4f4a5afd36f | |
| parent | 41c2097058e61918f2cc3e5979302507c6f87184 (diff) | |
| download | llvm-5d29673855ea85a8ab5d6d0cec65c8d26bb5f039.zip llvm-5d29673855ea85a8ab5d6d0cec65c8d26bb5f039.tar.gz llvm-5d29673855ea85a8ab5d6d0cec65c8d26bb5f039.tar.bz2 | |
Verify that a non-uniqued non-temporary MDNode is not deleted via
MDNode::deleteTemporary.
llvm-svn: 111853
| -rw-r--r-- | llvm/lib/VMCore/Metadata.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/VMCore/Metadata.cpp b/llvm/lib/VMCore/Metadata.cpp index bccdafa..7f7b9ec 100644 --- a/llvm/lib/VMCore/Metadata.cpp +++ b/llvm/lib/VMCore/Metadata.cpp @@ -258,7 +258,9 @@ MDNode *MDNode::getTemporary(LLVMContext &Context, Value *const *Vals, void MDNode::deleteTemporary(MDNode *N) { assert(N->use_empty() && "Temporary MDNode has uses!"); assert(!N->getContext().pImpl->MDNodeSet.RemoveNode(N) && - "Deleting a non-temporary node!"); + "Deleting a non-temporary uniqued node!"); + assert(!N->getContext().pImpl->NonUniquedMDNodes.erase(N) && + "Deleting a non-temporary non-uniqued node!"); assert((N->getSubclassDataFromValue() & NotUniquedBit) && "Temporary MDNode does not have NotUniquedBit set!"); assert((N->getSubclassDataFromValue() & DestroyFlag) == 0 && |
