aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore/Metadata.cpp
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
commit97cfa7dc0aca6cc88f5c0033a1b848f883329055 (patch)
tree00d4efff5f7ce459d09b18b60b77134a8e44cf85 /lib/VMCore/Metadata.cpp
parent8300712c1e73dc106242f0007e0e0e4dd9ea38ce (diff)
downloadexternal_llvm-97cfa7dc0aca6cc88f5c0033a1b848f883329055.tar.gz
external_llvm-97cfa7dc0aca6cc88f5c0033a1b848f883329055.tar.bz2
external_llvm-97cfa7dc0aca6cc88f5c0033a1b848f883329055.zip
Verify that a non-uniqued non-temporary MDNode is not deleted via
MDNode::deleteTemporary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111853 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/Metadata.cpp')
-rw-r--r--lib/VMCore/Metadata.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/VMCore/Metadata.cpp b/lib/VMCore/Metadata.cpp
index bccdafa9cd..7f7b9eca59 100644
--- a/lib/VMCore/Metadata.cpp
+++ b/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 &&