aboutsummaryrefslogtreecommitdiffstats
path: root/tools/lto
diff options
context:
space:
mode:
authorMichael J. Spencer <bigcheesegs@gmail.com>2010-12-16 03:29:14 +0000
committerMichael J. Spencer <bigcheesegs@gmail.com>2010-12-16 03:29:14 +0000
commit3ff9563c3e391954b2e224afcf8b2b0fcc3888aa (patch)
treecccde9111a73ba5895f6cefbfb280290fa6c469d /tools/lto
parentb29b20e7deb7297f6a10b2d6922feeca8c6df055 (diff)
downloadexternal_llvm-3ff9563c3e391954b2e224afcf8b2b0fcc3888aa.zip
external_llvm-3ff9563c3e391954b2e224afcf8b2b0fcc3888aa.tar.gz
external_llvm-3ff9563c3e391954b2e224afcf8b2b0fcc3888aa.tar.bz2
MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121958 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/lto')
-rw-r--r--tools/lto/LTOCodeGenerator.cpp6
-rw-r--r--tools/lto/LTOModule.cpp14
2 files changed, 9 insertions, 11 deletions
diff --git a/tools/lto/LTOCodeGenerator.cpp b/tools/lto/LTOCodeGenerator.cpp
index d49e6a7..439bac1 100644
--- a/tools/lto/LTOCodeGenerator.cpp
+++ b/tools/lto/LTOCodeGenerator.cpp
@@ -224,10 +224,10 @@ const void* LTOCodeGenerator::compile(size_t* length, std::string& errMsg)
delete _nativeObjectFile;
// read .o file into memory buffer
- error_code ec;
- _nativeObjectFile = MemoryBuffer::getFile(uniqueObjStr.c_str(), ec);
- if (ec)
+ OwningPtr<MemoryBuffer> BuffPtr;
+ if (error_code ec = MemoryBuffer::getFile(uniqueObjStr.c_str(),BuffPtr))
errMsg = ec.message();
+ _nativeObjectFile = BuffPtr.take();
}
// remove temp files
diff --git a/tools/lto/LTOModule.cpp b/tools/lto/LTOModule.cpp
index a33b8b4..59c8b35 100644
--- a/tools/lto/LTOModule.cpp
+++ b/tools/lto/LTOModule.cpp
@@ -57,18 +57,17 @@ bool LTOModule::isBitcodeFileForTarget(const void *mem, size_t length,
bool LTOModule::isBitcodeFileForTarget(const char *path,
const char *triplePrefix) {
- error_code ec;
- MemoryBuffer *buffer = MemoryBuffer::getFile(path, ec);
- if (buffer == NULL)
+ OwningPtr<MemoryBuffer> buffer;
+ if (MemoryBuffer::getFile(path, buffer))
return false;
- return isTargetMatch(buffer, triplePrefix);
+ return isTargetMatch(buffer.take(), triplePrefix);
}
// Takes ownership of buffer.
bool LTOModule::isTargetMatch(MemoryBuffer *buffer, const char *triplePrefix) {
std::string Triple = getBitcodeTargetTriple(buffer, getGlobalContext());
delete buffer;
- return (strncmp(Triple.c_str(), triplePrefix,
+ return (strncmp(Triple.c_str(), triplePrefix,
strlen(triplePrefix)) == 0);
}
@@ -80,9 +79,8 @@ LTOModule::LTOModule(Module *m, TargetMachine *t)
LTOModule *LTOModule::makeLTOModule(const char *path,
std::string &errMsg) {
- error_code ec;
- OwningPtr<MemoryBuffer> buffer(MemoryBuffer::getFile(path, ec));
- if (!buffer) {
+ OwningPtr<MemoryBuffer> buffer;
+ if (error_code ec = MemoryBuffer::getFile(path, buffer)) {
errMsg = ec.message();
return NULL;
}