diff options
author | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-12-09 18:06:07 +0000 |
---|---|---|
committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-12-09 18:06:07 +0000 |
commit | f2f516fc2680168caac9981a4dd17cc37c639c71 (patch) | |
tree | 879c1ed2d47d11ea2c9214e4b2824fe655554e98 /tools/lto | |
parent | 014e189069f5613e696bfc81f817e8d93fc5bae8 (diff) | |
download | external_llvm-f2f516fc2680168caac9981a4dd17cc37c639c71.zip external_llvm-f2f516fc2680168caac9981a4dd17cc37c639c71.tar.gz external_llvm-f2f516fc2680168caac9981a4dd17cc37c639c71.tar.bz2 |
More code not compiled by CMake. :(.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121387 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/lto')
-rw-r--r-- | tools/lto/LTOCodeGenerator.cpp | 8 | ||||
-rw-r--r-- | tools/lto/LTOModule.cpp | 11 |
2 files changed, 14 insertions, 5 deletions
diff --git a/tools/lto/LTOCodeGenerator.cpp b/tools/lto/LTOCodeGenerator.cpp index 77747f7..f1c5680 100644 --- a/tools/lto/LTOCodeGenerator.cpp +++ b/tools/lto/LTOCodeGenerator.cpp @@ -43,6 +43,7 @@ #include "llvm/Support/Host.h" #include "llvm/Support/Program.h" #include "llvm/Support/Signals.h" +#include "llvm/Support/system_error.h" #include "llvm/Config/config.h" #include <cstdlib> #include <unistd.h> @@ -221,9 +222,12 @@ const void* LTOCodeGenerator::compile(size_t* length, std::string& errMsg) if ( !asmResult ) { // remove old buffer if compile() called twice delete _nativeObjectFile; - + // read .o file into memory buffer - _nativeObjectFile = MemoryBuffer::getFile(uniqueObjStr.c_str(),&errMsg); + error_code ec; + _nativeObjectFile = MemoryBuffer::getFile(uniqueObjStr.c_str(), ec); + if (ec) + errMsg = ec.message(); } // remove temp files diff --git a/tools/lto/LTOModule.cpp b/tools/lto/LTOModule.cpp index 7a91562..2453e2b 100644 --- a/tools/lto/LTOModule.cpp +++ b/tools/lto/LTOModule.cpp @@ -26,6 +26,7 @@ #include "llvm/Support/Host.h" #include "llvm/Support/Path.h" #include "llvm/Support/Process.h" +#include "llvm/Support/system_error.h" #include "llvm/Target/Mangler.h" #include "llvm/Target/SubtargetFeature.h" #include "llvm/MC/MCAsmInfo.h" @@ -56,7 +57,8 @@ bool LTOModule::isBitcodeFileForTarget(const void *mem, size_t length, bool LTOModule::isBitcodeFileForTarget(const char *path, const char *triplePrefix) { - MemoryBuffer *buffer = MemoryBuffer::getFile(path); + error_code ec; + MemoryBuffer *buffer = MemoryBuffer::getFile(path, ec); if (buffer == NULL) return false; return isTargetMatch(buffer, triplePrefix); @@ -78,9 +80,12 @@ LTOModule::LTOModule(Module *m, TargetMachine *t) LTOModule *LTOModule::makeLTOModule(const char *path, std::string &errMsg) { - OwningPtr<MemoryBuffer> buffer(MemoryBuffer::getFile(path, &errMsg)); - if (!buffer) + error_code ec; + OwningPtr<MemoryBuffer> buffer(MemoryBuffer::getFile(path, ec)); + if (!buffer) { + errMsg = ec.message(); return NULL; + } return makeLTOModule(buffer.get(), errMsg); } |