summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorMichael J. Spencer <bigcheesegs@gmail.com>2010-12-09 18:06:07 +0000
committerMichael J. Spencer <bigcheesegs@gmail.com>2010-12-09 18:06:07 +0000
commitf2f516fc2680168caac9981a4dd17cc37c639c71 (patch)
tree879c1ed2d47d11ea2c9214e4b2824fe655554e98 /tools
parent014e189069f5613e696bfc81f817e8d93fc5bae8 (diff)
downloadllvm-f2f516fc2680168caac9981a4dd17cc37c639c71.tar.gz
llvm-f2f516fc2680168caac9981a4dd17cc37c639c71.tar.bz2
llvm-f2f516fc2680168caac9981a4dd17cc37c639c71.tar.xz
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')
-rw-r--r--tools/lto/LTOCodeGenerator.cpp8
-rw-r--r--tools/lto/LTOModule.cpp11
2 files changed, 14 insertions, 5 deletions
diff --git a/tools/lto/LTOCodeGenerator.cpp b/tools/lto/LTOCodeGenerator.cpp
index 77747f7f28..f1c5680add 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 7a91562ec4..2453e2b2c2 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);
}