diff options
author | Logan Chien <tzuhsiang.chien@gmail.com> | 2014-07-16 22:01:43 +0800 |
---|---|---|
committer | Logan Chien <tzuhsiang.chien@gmail.com> | 2014-09-16 00:03:44 +0800 |
commit | 801224161c992d0f4e18e486834c420475334680 (patch) | |
tree | 42fefe774a46f8186706338f51ca242e4ca3a95f | |
parent | e12ddddb86edcd220a9656c6f0990c748d81700d (diff) | |
download | llvm-801224161c992d0f4e18e486834c420475334680.tar.gz |
[ndk][pndk] Update MemoryBuffer API usage.
-rw-r--r-- | tools/ndk-link/AndroidBitcodeLinker.cpp | 25 | ||||
-rw-r--r-- | tools/ndk-link/Archive.cpp | 18 | ||||
-rw-r--r-- | tools/ndk-link/ArchiveWriter.cpp | 9 |
3 files changed, 28 insertions, 24 deletions
diff --git a/tools/ndk-link/AndroidBitcodeLinker.cpp b/tools/ndk-link/AndroidBitcodeLinker.cpp index dd5c9ae3312..624521d5447 100644 --- a/tools/ndk-link/AndroidBitcodeLinker.cpp +++ b/tools/ndk-link/AndroidBitcodeLinker.cpp @@ -89,23 +89,24 @@ std::string* AndroidBitcodeLinker::GenerateBitcode() { Module * AndroidBitcodeLinker::LoadAndroidBitcode(AndroidBitcodeItem &Item) { - std::string ParseErrorMessage; - const StringRef &FN = Item.getFile(); - - std::unique_ptr<MemoryBuffer> Buffer; - if (std::error_code ec = MemoryBuffer::getFileOrSTDIN(FN.data(), Buffer)) { - Error = "Error reading file '" + FN.str() + "'" + ": " + ec.message(); + const StringRef &FileName = Item.getFile(); + ErrorOr<std::unique_ptr<MemoryBuffer>> Buffer = + MemoryBuffer::getFileOrSTDIN(FileName); + if (!Buffer) { + Error = "Error reading file '" + FileName.str() + "'" + ": " + + Buffer.getError().message(); return nullptr; } - MemoryBuffer *buffer = Buffer.get(); - BitcodeWrapper *wrapper = new BitcodeWrapper(buffer->getBufferStart(), buffer->getBufferSize()); - Item.setWrapper(wrapper); + MemoryBuffer *BufferPtr = Buffer.get().get(); + BitcodeWrapper *Wrapper = new BitcodeWrapper(BufferPtr->getBufferStart(), + BufferPtr->getBufferSize()); + Item.setWrapper(Wrapper); assert(Item.getWrapper() != 0); - ErrorOr<Module *> Result = parseBitcodeFile(buffer, Config.getContext()); + ErrorOr<Module *> Result = parseBitcodeFile(BufferPtr, Config.getContext()); if (!Result) { - Error = "Bitcode file '" + FN.str() + "' could not be loaded." - + Result.getError().message(); + Error = "Bitcode file '" + FileName.str() + "' could not be loaded." + + Result.getError().message(); errs() << Error << '\n'; return nullptr; } diff --git a/tools/ndk-link/Archive.cpp b/tools/ndk-link/Archive.cpp index 509ed9cd74c..c57aedc3c60 100644 --- a/tools/ndk-link/Archive.cpp +++ b/tools/ndk-link/Archive.cpp @@ -136,13 +136,14 @@ Archive::Archive(StringRef filename, LLVMContext &C) bool Archive::mapToMemory(std::string* ErrMsg) { - std::unique_ptr<MemoryBuffer> File; - if (std::error_code ec = MemoryBuffer::getFile(archPath.str(), File)) { + ErrorOr<std::unique_ptr<MemoryBuffer> > File = + MemoryBuffer::getFile(archPath.str()); + if (!File) { if (ErrMsg) - *ErrMsg = ec.message(); + *ErrMsg = File.getError().message(); return true; } - mapfile = File.release(); + mapfile = File.get().release(); base = mapfile->getBufferStart(); return false; } @@ -200,14 +201,15 @@ bool llvm::GetBitcodeSymbols(StringRef fName, LLVMContext& Context, std::vector<std::string>& symbols, std::string* ErrMsg) { - std::unique_ptr<MemoryBuffer> Buffer; - if (std::error_code ec = MemoryBuffer::getFileOrSTDIN(fName.str(), Buffer)) { + ErrorOr<std::unique_ptr<MemoryBuffer> > Buffer = + MemoryBuffer::getFileOrSTDIN(fName.str()); + if (!Buffer) { if (ErrMsg) *ErrMsg = "Could not open file '" + fName.str() + "'" + ": " - + ec.message(); + + Buffer.getError().message(); return true; } - ErrorOr<Module *> Result = parseBitcodeFile(Buffer.get(), Context); + ErrorOr<Module *> Result = parseBitcodeFile(Buffer.get().get(), Context); if (!Result) { if (ErrMsg) *ErrMsg = Result.getError().message(); return true; diff --git a/tools/ndk-link/ArchiveWriter.cpp b/tools/ndk-link/ArchiveWriter.cpp index 9bc7ae9a61d..d9d00dc048c 100644 --- a/tools/ndk-link/ArchiveWriter.cpp +++ b/tools/ndk-link/ArchiveWriter.cpp @@ -152,13 +152,14 @@ Archive::writeMember( const char *data = (const char*)member.getData(); MemoryBuffer *mFile = 0; if (!data) { - std::unique_ptr<MemoryBuffer> File; - if (std::error_code ec = MemoryBuffer::getFile(member.getPath(), File)) { + ErrorOr<std::unique_ptr<MemoryBuffer> > File = + MemoryBuffer::getFile(member.getPath()); + if (!File) { if (ErrMsg) - *ErrMsg = ec.message(); + *ErrMsg = File.getError().message(); return true; } - mFile = File.release(); + mFile = File.get().release(); data = mFile->getBufferStart(); fSize = mFile->getBufferSize(); } |