From 19d02371c920378f965f157b045c159e94fddf62 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Mon, 16 Jun 2014 16:09:08 +0000 Subject: [PATCH] Update for llvm api change. llvm-svn: 211034 --- lld/lib/ReaderWriter/FileArchive.cpp | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/lld/lib/ReaderWriter/FileArchive.cpp b/lld/lib/ReaderWriter/FileArchive.cpp index 8563cf3..30f961ca 100644 --- a/lld/lib/ReaderWriter/FileArchive.cpp +++ b/lld/lib/ReaderWriter/FileArchive.cpp @@ -57,10 +57,11 @@ public: return nullptr; if (dataSymbolOnly) { - std::unique_ptr buff; - if (ci->getMemoryBuffer(buff, true)) + ErrorOr> buffOrErr = + ci->getMemoryBuffer(true); + if (buffOrErr.getError()) return nullptr; - if (isDataSymbol(std::move(buff), name)) + if (isDataSymbol(std::move(buffOrErr.get()), name)) return nullptr; } @@ -109,12 +110,11 @@ public: << _archive->getFileName() << "':\n"); for (auto i = _archive->symbol_begin(), e = _archive->symbol_end(); i != e; ++i) { - StringRef name; - Archive::child_iterator member; - if (std::error_code ec = i->getName(name)) - return ec; - if (std::error_code ec = i->getMember(member)) + StringRef name = i->getName(); + ErrorOr memberOrErr = i->getMember(); + if (std::error_code ec = memberOrErr.getError()) return ec; + Archive::child_iterator member = memberOrErr.get(); DEBUG_WITH_TYPE( "FileArchive", llvm::dbgs() << llvm::format("0x%08llX ", member->getBuffer().data()) @@ -136,9 +136,11 @@ protected: std::error_code instantiateMember(Archive::child_iterator member, std::vector> &result) const { - std::unique_ptr mb; - if (std::error_code ec = member->getMemoryBuffer(mb, true)) + ErrorOr> mbOrErr = + member->getMemoryBuffer(true); + if (std::error_code ec = mbOrErr.getError()) return ec; + std::unique_ptr mb = std::move(mbOrErr.get()); if (_logLoading) llvm::outs() << mb->getBufferIdentifier() << "\n"; _registry.parseFile(mb, result); -- 2.7.4