Detect redefinition of functions and variables.
TRAC #21840
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Nicolas Capens
diff --git a/src/compiler/SymbolTable.h b/src/compiler/SymbolTable.h
index e0efe37..d7ae4fc 100644
--- a/src/compiler/SymbolTable.h
+++ b/src/compiler/SymbolTable.h
@@ -197,7 +197,7 @@
TSymbolTableLevel() { }
~TSymbolTableLevel();
- bool insert(TSymbol &symbol)
+ bool insert(const TString &name, TSymbol &symbol)
{
symbol.setUniqueId(++uniqueId);
@@ -205,11 +205,16 @@
// returning true means symbol was added to the table
//
tInsertResult result;
- result = level.insert(tLevelPair(symbol.getMangledName(), &symbol));
+ result = level.insert(tLevelPair(name, &symbol));
return result.second;
}
+ bool insert(TSymbol &symbol)
+ {
+ return insert(symbol.getMangledName(), symbol);
+ }
+
TSymbol* find(const TString& name) const
{
tLevel::const_iterator it = level.find(name);