diff options
Diffstat (limited to 'llvm/tools/llvm-ar/llvm-ar.cpp')
| -rw-r--r-- | llvm/tools/llvm-ar/llvm-ar.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp index 18f87760205..d4fe7d789c8 100644 --- a/llvm/tools/llvm-ar/llvm-ar.cpp +++ b/llvm/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; |

