diff -r 9df73385c878 -r 4793fa5955e0 src/mem/slicc/symbols/SymbolTable.py --- a/src/mem/slicc/symbols/SymbolTable.py Tue Jun 11 09:43:05 2013 +0200 +++ b/src/mem/slicc/symbols/SymbolTable.py Tue Jun 18 13:16:19 2013 -0500 @@ -68,6 +68,11 @@ if id in self.sym_map_vec[-1]: sym.error("Symbol '%s' redeclared in same scope.", id) + for sym_map in self.sym_map_vec: + if id in sym_map: + if type(self.sym_map_vec[0][id]) != type(sym): + sym.error("Conflicting declaration of Symbol '%s'", id) + # FIXME - warn on masking of a declaration in a previous frame self.sym_map_vec[-1][id] = sym