Do not fail an assertion on a broken archive

llvm-svn: 18959
diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp
index 8f90de7..586639b 100644
--- a/llvm/tools/llvm-ar/llvm-ar.cpp
+++ b/llvm/tools/llvm-ar/llvm-ar.cpp
@@ -677,7 +677,12 @@
         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.