summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-08-23 22:32:05 +0000
committerDan Gohman <gohman@apple.com>2010-08-23 22:32:05 +0000
commit5d29673855ea85a8ab5d6d0cec65c8d26bb5f039 (patch)
treeb66d255868327540535204057e76c4f4a5afd36f /llvm/lib
parent41c2097058e61918f2cc3e5979302507c6f87184 (diff)
downloadbcm5719-llvm-5d29673855ea85a8ab5d6d0cec65c8d26bb5f039.tar.gz
bcm5719-llvm-5d29673855ea85a8ab5d6d0cec65c8d26bb5f039.zip
Verify that a non-uniqued non-temporary MDNode is not deleted via
MDNode::deleteTemporary. llvm-svn: 111853
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/VMCore/Metadata.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/VMCore/Metadata.cpp b/llvm/lib/VMCore/Metadata.cpp
index bccdafa9cd1..7f7b9eca59a 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 &&
OpenPOWER on IntegriCloud