Modules are consumed when they are merged together by Linker.
authorDevang Patel <dpatel@apple.com>
Mon, 8 Jan 2007 18:42:27 +0000 (18:42 +0000)
committerDevang Patel <dpatel@apple.com>
Mon, 8 Jan 2007 18:42:27 +0000 (18:42 +0000)
Clear modules vector so that destructure does not try to
delete these modules again. Patch by Chandler Carruth.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33017 91177308-0d34-0410-b5e6-96231b3b80d8

tools/lto/lto.cpp

index fac1a3028f04ce625c2ac843318b046c5548f0e5..383da87a62d7f856be4fbad75b2eb18c86ac5de3 100644 (file)
@@ -353,6 +353,8 @@ LTO::optimizeModules(const std::string &OutputFilename,
   for (unsigned i = 1, e = modules.size(); i != e; ++i)
     if (theLinker.LinkModules(bigOne, modules[i], errMsg))
       return LTO_MODULE_MERGE_FAILURE;
+  //  all modules have been handed off to the linker.
+  modules.clear();
 
   sys::Path FinalOutputPath(FinalOutputFilename);
   FinalOutputPath.eraseSuffix();