Do not fail an assertion on a broken archive
authorChris Lattner <sabre@nondot.org>
Wed, 15 Dec 2004 07:44:15 +0000 (07:44 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 15 Dec 2004 07:44:15 +0000 (07:44 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18959 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-ar/llvm-ar.cpp

index 8f90de7bdea6b218687a35c99043e38ae17e494c..586639bd631d776bd6f0d73559ed9518b1300576 100644 (file)
@@ -677,7 +677,12 @@ int main(int argc, char **argv) {
         std::cerr << argv[0] << ": creating " << ArchivePath.toString() << "\n";
       TheArchive = Archive::CreateEmpty(ArchivePath);
     } else {
-      TheArchive = Archive::OpenAndLoad(ArchivePath);
+      std::string Error;
+      TheArchive = Archive::OpenAndLoad(ArchivePath, &Error);
+      if (TheArchive == 0)
+        std::cerr << argv[0] << ": error loading '" << ArchivePath << "': "
+                  << Error << "!\n";
+      return 1;
     }
 
     // Make sure we're not fooling ourselves.