diff options
author | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-12-16 03:29:14 +0000 |
---|---|---|
committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-12-16 03:29:14 +0000 |
commit | 3ff9563c3e391954b2e224afcf8b2b0fcc3888aa (patch) | |
tree | cccde9111a73ba5895f6cefbfb280290fa6c469d /tools/lto | |
parent | b29b20e7deb7297f6a10b2d6922feeca8c6df055 (diff) | |
download | external_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.cpp | 6 | ||||
-rw-r--r-- | tools/lto/LTOModule.cpp | 14 |
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; } |