From 7b6fef82d43a4e121a284ebabf5de94c3485b29a Mon Sep 17 00:00:00 2001 From: "Michael J. Spencer" Date: Thu, 9 Dec 2010 17:36:48 +0000 Subject: Support/MemoryBuffer: Replace all uses of std::string *ErrMsg with error_code &ec. And fix clients. llvm-svn: 121379 --- llvm/lib/Archive/Archive.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'llvm/lib/Archive/Archive.cpp') diff --git a/llvm/lib/Archive/Archive.cpp b/llvm/lib/Archive/Archive.cpp index e2e5593c6bf..3ce7fbdc948 100644 --- a/llvm/lib/Archive/Archive.cpp +++ b/llvm/lib/Archive/Archive.cpp @@ -17,6 +17,7 @@ #include "llvm/Module.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/Process.h" +#include "llvm/Support/system_error.h" #include #include using namespace llvm; @@ -147,9 +148,13 @@ Archive::Archive(const sys::Path& filename, LLVMContext& C) bool Archive::mapToMemory(std::string* ErrMsg) { - mapfile = MemoryBuffer::getFile(archPath.c_str(), ErrMsg); - if (mapfile == 0) + error_code ec; + mapfile = MemoryBuffer::getFile(archPath.c_str(), ec); + if (mapfile == 0) { + if (ErrMsg) + *ErrMsg = ec.message(); return true; + } base = mapfile->getBufferStart(); return false; } @@ -213,10 +218,12 @@ bool llvm::GetBitcodeSymbols(const sys::Path& fName, LLVMContext& Context, std::vector& symbols, std::string* ErrMsg) { + error_code ec; std::auto_ptr Buffer( - MemoryBuffer::getFileOrSTDIN(fName.c_str())); + MemoryBuffer::getFileOrSTDIN(fName.c_str(), ec)); if (!Buffer.get()) { - if (ErrMsg) *ErrMsg = "Could not open file '" + fName.str() + "'"; + if (ErrMsg) *ErrMsg = "Could not open file '" + fName.str() + "'" + ": " + + ec.message(); return true; } -- cgit v1.2.3