diff --git a/include/llvm/ValueSymbolTable.h b/include/llvm/ValueSymbolTable.h index e5ea49f39b1..060dba31018 100644 --- a/include/llvm/ValueSymbolTable.h +++ b/include/llvm/ValueSymbolTable.h @@ -135,10 +135,11 @@ private: class MDSymbolTable { /// @name Types /// @{ -public: +private: /// @brief A mapping of names to metadata typedef StringMap 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(); diff --git a/lib/VMCore/Module.cpp b/lib/VMCore/Module.cpp index e25a29517a4..03b12528491 100644 --- a/lib/VMCore/Module.cpp +++ b/lib/VMCore/Module.cpp @@ -71,6 +71,7 @@ Module::~Module() { NamedMDList.clear(); delete ValSymTab; delete TypeSymTab; + delete NamedMDSymTab; } /// Target endian information... diff --git a/lib/VMCore/ValueSymbolTable.cpp b/lib/VMCore/ValueSymbolTable.cpp index 98b042f7392..d30a9d6e37b 100644 --- a/lib/VMCore/ValueSymbolTable.cpp +++ b/lib/VMCore/ValueSymbolTable.cpp @@ -119,3 +119,5 @@ void ValueSymbolTable::dump() const { //DEBUG(dbgs() << "\n"); } } + +MDSymbolTable::~MDSymbolTable() { }