diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-01-14 23:02:01 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-01-14 23:02:01 +0000 |
commit | 06a3bddb362ecfc5f3d9ad96301d9b61ef18b552 (patch) | |
tree | 403e925ba33a1301331b72a3b0ccad8bd0ff2ea2 | |
parent | 70aa0556d4c4d6562765a54efddcc1f34f564705 (diff) | |
download | llvm-06a3bddb362ecfc5f3d9ad96301d9b61ef18b552.tar.gz llvm-06a3bddb362ecfc5f3d9ad96301d9b61ef18b552.tar.bz2 llvm-06a3bddb362ecfc5f3d9ad96301d9b61ef18b552.tar.xz |
Use error_code in Module::materializeAll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199269 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/IR/Module.h | 8 | ||||
-rw-r--r-- | lib/IR/Module.cpp | 16 |
2 files changed, 10 insertions, 14 deletions
diff --git a/include/llvm/IR/Module.h b/include/llvm/IR/Module.h index 822b8a4565..4bfa9e68aa 100644 --- a/include/llvm/IR/Module.h +++ b/include/llvm/IR/Module.h @@ -22,6 +22,7 @@ #include "llvm/IR/Metadata.h" #include "llvm/Support/CBindingWrapping.h" #include "llvm/Support/DataTypes.h" +#include "llvm/Support/system_error.h" namespace llvm { @@ -450,11 +451,8 @@ public: /// materialized lazily. If !isDematerializable(), this method is a noop. void Dematerialize(GlobalValue *GV); - /// MaterializeAll - Make sure all GlobalValues in this Module are fully read. - /// If the module is corrupt, this returns true and fills in the optional - /// string with information about the problem. If successful, this returns - /// false. - bool MaterializeAll(std::string *ErrInfo = 0); + /// Make sure all GlobalValues in this Module are fully read. + error_code materializeAll(); /// MaterializeAllPermanently - Make sure all GlobalValues in this Module are /// fully read and clear the Materializer. If the module is corrupt, this diff --git a/lib/IR/Module.cpp b/lib/IR/Module.cpp index 996c5b67a4..06eea7e388 100644 --- a/lib/IR/Module.cpp +++ b/lib/IR/Module.cpp @@ -377,20 +377,18 @@ void Module::Dematerialize(GlobalValue *GV) { return Materializer->Dematerialize(GV); } -bool Module::MaterializeAll(std::string *ErrInfo) { +error_code Module::materializeAll() { if (!Materializer) - return false; - error_code EC = Materializer->MaterializeModule(this); - if (!EC) - return false; - if (ErrInfo) - *ErrInfo = EC.message(); - return true; + return error_code::success(); + return Materializer->MaterializeModule(this); } bool Module::MaterializeAllPermanently(std::string *ErrInfo) { - if (MaterializeAll(ErrInfo)) + if (error_code EC = materializeAll()) { + if (ErrInfo) + *ErrInfo = EC.message(); return true; + } Materializer.reset(); return false; } |