X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FObject%2FBinary.cpp;h=89e9d732ce9dcc9a95c410f33ed5c3cc4036a536;hb=2b861c3a24fa299d6b8a2d5097114c1000354bee;hp=8d79a96662f811386aa488063811d0e99fd5257b;hpb=0d50598d71c5cc81c0e777a0ddf3e692e634f565;p=oota-llvm.git diff --git a/lib/Object/Binary.cpp b/lib/Object/Binary.cpp index 8d79a96662f..89e9d732ce9 100644 --- a/lib/Object/Binary.cpp +++ b/lib/Object/Binary.cpp @@ -38,8 +38,9 @@ StringRef Binary::getFileName() const { return Data->getBufferIdentifier(); } -ErrorOr object::createBinary(std::unique_ptr &Buffer, - LLVMContext *Context) { +ErrorOr> +object::createBinary(std::unique_ptr Buffer, + LLVMContext *Context) { sys::fs::file_magic Type = sys::fs::identify_magic(Buffer->getBuffer()); switch (Type) { @@ -74,9 +75,10 @@ ErrorOr object::createBinary(std::unique_ptr &Buffer, llvm_unreachable("Unexpected Binary File Type"); } -ErrorOr object::createBinary(StringRef Path) { - std::unique_ptr File; - if (std::error_code EC = MemoryBuffer::getFileOrSTDIN(Path, File)) +ErrorOr> object::createBinary(StringRef Path) { + ErrorOr> FileOrErr = + MemoryBuffer::getFileOrSTDIN(Path); + if (std::error_code EC = FileOrErr.getError()) return EC; - return createBinary(File); + return createBinary(std::move(*FileOrErr)); }