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:
Chris Lattner 2001-11-26 17:01:18 +00:00
parent 7c54b4a067
commit c267f7bcc0

View File

@ -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 << ": "