mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 16:33:28 +00:00
If a name conflict occurs when inserting a value, rename it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1346 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7c54b4a067
commit
c267f7bcc0
@ -133,9 +133,14 @@ Value *SymbolTable::removeEntry(iterator Plane, type_iterator Entry) {
|
||||
// name...
|
||||
//
|
||||
void SymbolTable::insertEntry(const string &Name, const Type *VTy, Value *V) {
|
||||
// TODO: The typeverifier should catch this when its implemented
|
||||
assert(lookup(VTy, Name) == 0 &&
|
||||
"SymbolTable::insertEntry - Name already in symbol table!");
|
||||
// Check to see if there is a naming conflict. If so, rename this value!
|
||||
if (lookup(VTy, Name)) {
|
||||
string UniqueName = getUniqueName(VTy, Name);
|
||||
InternallyInconsistent = true;
|
||||
V->setName(UniqueName, this);
|
||||
InternallyInconsistent = false;
|
||||
return;
|
||||
}
|
||||
|
||||
#if DEBUG_SYMBOL_TABLE
|
||||
cerr << this << " Inserting definition: " << Name << ": "
|
||||
|
Loading…
x
Reference in New Issue
Block a user