Destroy MDNodes while destructing llvm context.
authorDevang Patel <dpatel@apple.com>
Thu, 11 Feb 2010 19:35:10 +0000 (19:35 +0000)
committerDevang Patel <dpatel@apple.com>
Thu, 11 Feb 2010 19:35:10 +0000 (19:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95903 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/LLVMContextImpl.h

index f7f4860614ad47358f9d484a507646ca35e450fc..4eb072240456545c9550e0468ab1c65e3e712666 100644 (file)
@@ -224,7 +224,10 @@ public:
       if (I->second->use_empty())
         delete I->second;
     }
-    MDNodeSet.clear();
+    while (!MDNodeSet.empty()) {
+      MDNode *N = &(*MDNodeSet.begin());
+      N->destroy();
+    }
     AlwaysOpaqueTy->dropRef();
     for (OpaqueTypesTy::iterator I = OpaqueTypes.begin(), E = OpaqueTypes.end();
         I != E; ++I) {