summaryrefslogtreecommitdiff
path: root/lib/LTO
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-01-13 18:31:04 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-01-13 18:31:04 +0000
commit99c7fec2c94bd44fd16ba50340896287438e6a0e (patch)
tree22f3840ee88db8e6fcb0dd28c768c11464cd88a5 /lib/LTO
parent36713c2c0a9e4aeebe4cae4ef5efbc13d4103850 (diff)
downloadllvm-99c7fec2c94bd44fd16ba50340896287438e6a0e.tar.gz
llvm-99c7fec2c94bd44fd16ba50340896287438e6a0e.tar.bz2
llvm-99c7fec2c94bd44fd16ba50340896287438e6a0e.tar.xz
Update getLazyBitcodeModule to use ErrorOr for error handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199125 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/LTO')
-rw-r--r--lib/LTO/LTOModule.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/LTO/LTOModule.cpp b/lib/LTO/LTOModule.cpp
index 49f95a6402..dcfd59e752 100644
--- a/lib/LTO/LTOModule.cpp
+++ b/lib/LTO/LTOModule.cpp
@@ -135,12 +135,14 @@ LTOModule *LTOModule::makeLTOModule(MemoryBuffer *buffer,
TargetOptions options,
std::string &errMsg) {
// parse bitcode buffer
- OwningPtr<Module> m(getLazyBitcodeModule(buffer, getGlobalContext(),
- &errMsg));
- if (!m) {
+ ErrorOr<Module *> ModuleOrErr =
+ getLazyBitcodeModule(buffer, getGlobalContext());
+ if (error_code EC = ModuleOrErr.getError()) {
+ errMsg = EC.message();
delete buffer;
return NULL;
}
+ OwningPtr<Module> m(ModuleOrErr.get());
std::string TripleStr = m->getTargetTriple();
if (TripleStr.empty())