diff --git a/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp b/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp index ef4aec58d2e67f..77bd042440215d 100644 --- a/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp +++ b/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp @@ -309,10 +309,7 @@ static Error addChildMember(MembersPerArchitectureMap &Members, if (Magic == file_magic::bitcode) return verifyAndAddIRObject(Members, std::move(*NMOrErr), C); - if (Error E = verifyAndAddMachOObject(Members, std::move(*NMOrErr), C)) - return E; - - return Error::success(); + return verifyAndAddMachOObject(Members, std::move(*NMOrErr), C); } static Error processArchive(MembersPerArchitectureMap &Members, @@ -441,9 +438,7 @@ static Error addMember(MembersPerArchitectureMap &Members, if (Magic == file_magic::bitcode) return verifyAndAddIRObject(Members, std::move(*NMOrErr), C); - if (Error E = verifyAndAddMachOObject(Members, std::move(*NMOrErr), C)) - return E; - return Error::success(); + return verifyAndAddMachOObject(Members, std::move(*NMOrErr), C); } static Expected> @@ -477,45 +472,41 @@ static Error createStaticLibrary(const Config &C) { } if (NewMembers.size() == 1) { - if (Error E = - writeArchive(OutputFile, NewMembers.begin()->second, - /*WriteSymtab=*/true, - /*Kind=*/object::Archive::K_DARWIN, C.Deterministic, - /*Thin=*/false)) - return E; - } else { - SmallVector, 2> OutputBinaries; - for (const std::pair> &M : - NewMembers) { - Expected> OutputBufferOrErr = - writeArchiveToBuffer(M.second, - /*WriteSymtab=*/true, - /*Kind=*/object::Archive::K_DARWIN, - C.Deterministic, - /*Thin=*/false); - if (!OutputBufferOrErr) - return OutputBufferOrErr.takeError(); - std::unique_ptr &OutputBuffer = OutputBufferOrErr.get(); - - Expected> ArchiveOrError = - Archive::create(OutputBuffer->getMemBufferRef()); - if (!ArchiveOrError) - return ArchiveOrError.takeError(); - std::unique_ptr &A = ArchiveOrError.get(); - - OutputBinaries.push_back( - OwningBinary(std::move(A), std::move(OutputBuffer))); - } - - Expected> Slices = buildSlices(OutputBinaries); - if (!Slices) - return Slices.takeError(); + return writeArchive(OutputFile, NewMembers.begin()->second, + /*WriteSymtab=*/true, + /*Kind=*/object::Archive::K_DARWIN, C.Deterministic, + /*Thin=*/false); + } - llvm::stable_sort(*Slices); - if (Error E = writeUniversalBinary(*Slices, OutputFile)) - return E; + SmallVector, 2> OutputBinaries; + for (const std::pair> &M : + NewMembers) { + Expected> OutputBufferOrErr = + writeArchiveToBuffer(M.second, + /*WriteSymtab=*/true, + /*Kind=*/object::Archive::K_DARWIN, + C.Deterministic, + /*Thin=*/false); + if (!OutputBufferOrErr) + return OutputBufferOrErr.takeError(); + std::unique_ptr &OutputBuffer = OutputBufferOrErr.get(); + + Expected> ArchiveOrError = + Archive::create(OutputBuffer->getMemBufferRef()); + if (!ArchiveOrError) + return ArchiveOrError.takeError(); + std::unique_ptr &A = ArchiveOrError.get(); + + OutputBinaries.push_back( + OwningBinary(std::move(A), std::move(OutputBuffer))); } - return Error::success(); + + Expected> Slices = buildSlices(OutputBinaries); + if (!Slices) + return Slices.takeError(); + + llvm::stable_sort(*Slices); + return writeUniversalBinary(*Slices, OutputFile); } static Expected parseCommandLine(int Argc, char **Argv) {