diff options
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
| -rw-r--r-- | src/rustllvm/RustWrapper.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index a1a88d1b14d..a4437ea7c7b 100644 --- a/src/rustllvm/RustWrapper.cpp +++ b/src/rustllvm/RustWrapper.cpp @@ -658,13 +658,14 @@ LLVMRustLinkInExternalBitcode(LLVMModuleRef dst, char *bc, size_t len) { #if LLVM_VERSION_MINOR >= 5 extern "C" void* LLVMRustOpenArchive(char *path) { - std::unique_ptr<MemoryBuffer> buf; - std::error_code err = MemoryBuffer::getFile(path, buf); - if (err) { - LLVMRustSetLastError(err.message().c_str()); + ErrorOr<std::unique_ptr<MemoryBuffer>> buf_or = MemoryBuffer::getFile(path); + if (!buf_or) { + LLVMRustSetLastError(buf_or.getError().message().c_str()); return NULL; } - Archive *ret = new Archive(buf.release(), err); + + std::error_code err; + Archive *ret = new Archive(std::move(buf_or.get()), err); if (err) { LLVMRustSetLastError(err.message().c_str()); return NULL; |
