Delete NamedMDSymTable while destrucing Module.

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
This commit is contained in:
Devang Patel 2010-01-09 01:44:59 +00:00
parent d2035203a0
commit 87df867fd7
3 changed files with 7 additions and 1 deletions

View 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();

View File

@ -71,6 +71,7 @@ Module::~Module() {
NamedMDList.clear();
delete ValSymTab;
delete TypeSymTab;
delete NamedMDSymTab;
}
/// Target endian information...

View File

@ -119,3 +119,5 @@ void ValueSymbolTable::dump() const {
//DEBUG(dbgs() << "\n");
}
}
MDSymbolTable::~MDSymbolTable() { }