From 0a7172cb50d98aa87cd756514e9b1a8ae8f1a489 Mon Sep 17 00:00:00 2001 From: Houtan Bastani Date: Tue, 14 Apr 2015 18:13:28 +0200 Subject: [PATCH] preprocessor: little fixes for removing unused exos from symbol_table --- SymbolTable.cc | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/SymbolTable.cc b/SymbolTable.cc index 490dbb31..ffaa7bb8 100644 --- a/SymbolTable.cc +++ b/SymbolTable.cc @@ -482,12 +482,7 @@ SymbolTable::rmExo(set &unused) throw (FrozenException) list idxs; for (set::const_iterator it = unused.begin(); it != unused.end(); it++) - { - string name = getName(*it); - idxs.push_back(symbol_table[name]); - symbol_table.erase(name); - size--; - } + idxs.push_back(getID(getName(*it))); idxs.sort(); idxs.reverse(); @@ -500,10 +495,10 @@ SymbolTable::rmExo(set &unused) throw (FrozenException) } symbol_table.clear(); - int i = 0; + size = 0; for (vector::const_iterator it=name_table.begin(); it != name_table.end(); it++) - symbol_table[*it] = i++; + symbol_table[*it] = size++; assert(size == symbol_table.size()); }