Duplicate reused symbol table entries.

BUG=angle:651

Change-Id: Ifce3c19d41a0a5a5ca5ee90ede528adf397d1da5
Reviewed-on: https://chromium-review.googlesource.com/204290
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
diff --git a/src/compiler/translator/SymbolTable.cpp b/src/compiler/translator/SymbolTable.cpp
index aa5933d..ae4fcaa 100644
--- a/src/compiler/translator/SymbolTable.cpp
+++ b/src/compiler/translator/SymbolTable.cpp
@@ -38,21 +38,16 @@
         delete (*it).second;
 }
 
-bool TSymbolTableLevel::insert(const TString &name, TSymbol &symbol)
+bool TSymbolTableLevel::insert(TSymbol *symbol)
 {
-    symbol.setUniqueId(TSymbolTable::nextUniqueId());
+    symbol->setUniqueId(TSymbolTable::nextUniqueId());
 
     // returning true means symbol was added to the table
-    tInsertResult result = level.insert(tLevelPair(name, &symbol));
+    tInsertResult result = level.insert(tLevelPair(symbol->getMangledName(), symbol));
 
     return result.second;
 }
 
-bool TSymbolTableLevel::insert(TSymbol &symbol)
-{
-    return insert(symbol.getMangledName(), symbol);
-}
-
 TSymbol *TSymbolTableLevel::find(const TString &name) const
 {
     tLevel::const_iterator it = level.find(name);
@@ -212,7 +207,7 @@
         }
     }
 
-    insert(level, *function);
+    insert(level, function);
 }
 
 TPrecision TSymbolTable::getDefaultPrecision(TBasicType type)