diff options
author | Dan Gohman <gohman@apple.com> | 2010-08-21 02:52:29 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-08-21 02:52:29 +0000 |
commit | 990bdd50d17f8a05c14392cc402a7e098fd2505f (patch) | |
tree | b7d24aaf73b6da425ce3720f06cc9feb45c6a919 /lib/VMCore | |
parent | 8bef744518e5904b77ad903d6f05241f9f807a97 (diff) | |
download | llvm-990bdd50d17f8a05c14392cc402a7e098fd2505f.tar.gz llvm-990bdd50d17f8a05c14392cc402a7e098fd2505f.tar.bz2 llvm-990bdd50d17f8a05c14392cc402a7e098fd2505f.tar.xz |
Add an assert to MDNode::deleteTemporary check that the node being deleted
is not non-temporary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111713 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore')
-rw-r--r-- | lib/VMCore/Metadata.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/VMCore/Metadata.cpp b/lib/VMCore/Metadata.cpp index 236ddaa15b..909c33d55b 100644 --- a/lib/VMCore/Metadata.cpp +++ b/lib/VMCore/Metadata.cpp @@ -257,10 +257,12 @@ 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!"); assert((N->getSubclassDataFromValue() & NotUniquedBit) && "Temporary MDNode does not have NotUniquedBit set!"); assert((N->getSubclassDataFromValue() & DestroyFlag) == 0 && - "Temporary MDNode does has DestroyFlag set!"); + "Temporary MDNode has DestroyFlag set!"); N->setValueSubclassData(N->getSubclassDataFromValue() | DestroyFlag); LeakDetector::removeGarbageObject(N); |