Do not internalize a module if -link-as-library is passed.
authorChris Lattner <sabre@nondot.org>
Sun, 12 Dec 2004 07:53:51 +0000 (07:53 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 12 Dec 2004 07:53:51 +0000 (07:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18825 91177308-0d34-0410-b5e6-96231b3b80d8

tools/gccld/gccld.cpp

index d06eb6ec05f5d1a24ac62d32db5c42f683aa74d8..9e344a61e236dccd116e12396839e16bef23fbb6 100644 (file)
@@ -212,9 +212,16 @@ int main(int argc, char **argv, char **envp) {
     // SIGINT signal.
     sys::RemoveFileOnSignal(sys::Path(RealBytecodeOutput));
 
-    // Generate the bytecode file.
+    // Strip everything if Strip is set, otherwise if stripdebug is set, just
+    // strip debug info.
     int StripLevel = Strip ? 2 : (StripDebug ? 1 : 0);
-    if (GenerateBytecode(Composite.get(), StripLevel, !NoInternalize, &Out)) {
+
+    // Internalize the module if neither -disable-internalize nor 
+    // -link-as-library are passed in.
+    bool ShouldInternalize = !NoInternalize & !LinkAsLibrary;
+
+    // Generate the bytecode file.
+    if (GenerateBytecode(Composite.get(), StripLevel, ShouldInternalize, &Out)){
       Out.close();
       return PrintAndReturn(argv[0], "error generating bytecode");
     }