[llvm-commits] CVS: llvm/lib/VMCore/SymbolTable.cpp

Chris Lattner lattner at cs.uiuc.edu
Fri Aug 29 00:12:01 PDT 2003


Changes in directory llvm/lib/VMCore:

SymbolTable.cpp updated: 1.31 -> 1.32

---
Log message:

Fix bug: Linker/2003-08-28-TypeResolvesGlobal2.ll


---
Diffs of the changes:

Index: llvm/lib/VMCore/SymbolTable.cpp
diff -u llvm/lib/VMCore/SymbolTable.cpp:1.31 llvm/lib/VMCore/SymbolTable.cpp:1.32
--- llvm/lib/VMCore/SymbolTable.cpp:1.31	Thu Aug 28 23:49:54 2003
+++ llvm/lib/VMCore/SymbolTable.cpp	Fri Aug 29 00:11:34 2003
@@ -236,17 +236,12 @@
                  "Two planes folded together with overlapping value names!");
 
           // Make sure that ExistGV is the one we want to keep!
-          if (!NewGV->isExternal() || !NewGV->use_empty()) {
+          if (!NewGV->isExternal())
             std::swap(NewGV, ExistGV);
-          }
 
           // Ok we have two external global values.  Make all uses of the new
           // one use the old one...
-          //
-          assert(NewGV->use_empty() && "No uses allowed on untyped value!");
-
-          // We cannot replaceAllUsesWith, because they have different types!
-          //NewGV->replaceAllUsesWith(ExistGV);
+          NewGV->uncheckedReplaceAllUsesWith(ExistGV);
           
           // Now we just convert it to an unnamed method... which won't get
           // added to our symbol table.  The problem is that if we call





More information about the llvm-commits mailing list