Delete NamedMDSymTable while destrucing Module.
authorDevang Patel <dpatel@apple.com>
Sat, 9 Jan 2010 01:44:59 +0000 (01:44 +0000)
committerDevang Patel <dpatel@apple.com>
Sat, 9 Jan 2010 01:44:59 +0000 (01:44 +0000)
Disable  copy ctor and operator= for NamedMDSymTable. Hide typedef that should be public.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93041 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ValueSymbolTable.h
lib/VMCore/Module.cpp
lib/VMCore/ValueSymbolTable.cpp

index e5ea49f39b1f69f75968a6a19c8df77d493d9b1d..060dba3101854c2d94dd69c8e5bdd161c48934dc 100644 (file)
@@ -135,10 +135,11 @@ private:
 class MDSymbolTable {
 /// @name Types
 /// @{
-public:
+private:
   /// @brief A mapping of names to metadata
   typedef StringMap<NamedMDNode*> MDMap;
 
+public:
   /// @brief An iterator over a ValueMap.
   typedef MDMap::iterator iterator;
 
@@ -150,6 +151,8 @@ public:
 /// @{
 public:
 
+  MDSymbolTable(const MDNode &);             // DO NOT IMPLEMENT
+  void operator=(const MDSymbolTable &);     // DO NOT IMPLEMENT
   MDSymbolTable() : mmap(0) {}
   ~MDSymbolTable();
 
index e25a29517a4eea45327b20abcd674c27a091c48b..03b12528491c68fe356e58d817a59af7e1c76182 100644 (file)
@@ -71,6 +71,7 @@ Module::~Module() {
   NamedMDList.clear();
   delete ValSymTab;
   delete TypeSymTab;
+  delete NamedMDSymTab;
 }
 
 /// Target endian information...
index 98b042f7392ae91cc57067d1c0ea12750e4a4f6f..d30a9d6e37b3921e05989d376ec8dcd326e3a69a 100644 (file)
@@ -119,3 +119,5 @@ void ValueSymbolTable::dump() const {
     //DEBUG(dbgs() << "\n");
   }
 }
+
+MDSymbolTable::~MDSymbolTable() { }