diff options
| author | Valerii Hiora <valerii.hiora@gmail.com> | 2014-07-23 09:14:58 +0300 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-07-24 07:25:55 -0700 |
| commit | 57cade574418e9507c67ba5177bc177cc7771721 (patch) | |
| tree | 0f722b8f431ebd1295087f82d69ff4872a928d64 /src/rustllvm/RustWrapper.cpp | |
| parent | 4ea1dd54943bb208d585c7ae8138df5699995a77 (diff) | |
| download | rust-57cade574418e9507c67ba5177bc177cc7771721.tar.gz rust-57cade574418e9507c67ba5177bc177cc7771721.zip | |
Updated LLVM for iOS
There should be no more problems during SjLj pass
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; |
