Avoid making external global variables internal
authorChris Lattner <sabre@nondot.org>
Mon, 7 Oct 2002 18:33:53 +0000 (18:33 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 7 Oct 2002 18:33:53 +0000 (18:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4059 91177308-0d34-0410-b5e6-96231b3b80d8

tools/extract/extract.cpp
tools/llvm-extract/llvm-extract.cpp

index b16b4f609e18b0e6b2e38cf50d76cbeb5acafc36..5df4cb283543258d1996166a21586200c0588a2c 100644 (file)
@@ -30,7 +30,8 @@ struct FunctionExtractorPass : public Pass {
   bool run(Module &M) {
     // Mark all global variables to be internal
     for (Module::giterator I = M.gbegin(), E = M.gend(); I != E; ++I)
-      I->setInternalLinkage(true);
+      if (!I->isExternal())
+        I->setInternalLinkage(true);
 
     Function *Named = 0;
 
index b16b4f609e18b0e6b2e38cf50d76cbeb5acafc36..5df4cb283543258d1996166a21586200c0588a2c 100644 (file)
@@ -30,7 +30,8 @@ struct FunctionExtractorPass : public Pass {
   bool run(Module &M) {
     // Mark all global variables to be internal
     for (Module::giterator I = M.gbegin(), E = M.gend(); I != E; ++I)
-      I->setInternalLinkage(true);
+      if (!I->isExternal())
+        I->setInternalLinkage(true);
 
     Function *Named = 0;