diff options
Diffstat (limited to 'tools/llvm-ar/llvm-ar.cpp')
-rw-r--r-- | tools/llvm-ar/llvm-ar.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp index 18f8776020..d4fe7d789c 100644 --- a/tools/llvm-ar/llvm-ar.cpp +++ b/tools/llvm-ar/llvm-ar.cpp @@ -670,7 +670,11 @@ static void writeSymbolTable( object::ObjectFile *Obj; if (I->isNewMember()) { const char *Filename = I->getNew(); - Obj = object::ObjectFile::createObjectFile(Filename); + if (ErrorOr<object::ObjectFile *> ObjOrErr = + object::ObjectFile::createObjectFile(Filename)) + Obj = ObjOrErr.get(); + else + Obj = NULL; } else { object::Archive::child_iterator OldMember = I->getOld(); OwningPtr<object::Binary> Binary; |