Use error_code in GVMaterializer.

They just propagate out the bitcode reader error, so we don't need a new enum.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194091 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2013-11-05 19:36:34 +00:00
parent 3ff3a8aa75
commit af9e8e60ae
4 changed files with 38 additions and 31 deletions

View File

@ -401,9 +401,15 @@ bool Module::isDematerializable(const GlobalValue *GV) const {
}
bool Module::Materialize(GlobalValue *GV, std::string *ErrInfo) {
if (Materializer)
return Materializer->Materialize(GV, ErrInfo);
return false;
if (!Materializer)
return false;
error_code EC = Materializer->Materialize(GV);
if (!EC)
return false;
if (ErrInfo)
*ErrInfo = EC.message();
return true;
}
void Module::Dematerialize(GlobalValue *GV) {
@ -414,7 +420,12 @@ void Module::Dematerialize(GlobalValue *GV) {
bool Module::MaterializeAll(std::string *ErrInfo) {
if (!Materializer)
return false;
return Materializer->MaterializeModule(this, ErrInfo);
error_code EC = Materializer->MaterializeModule(this);
if (!EC)
return false;
if (ErrInfo)
*ErrInfo = EC.message();
return true;
}
bool Module::MaterializeAllPermanently(std::string *ErrInfo) {