Use error_code in Module::materializeAll.
authorRafael Espindola <rafael.espindola@gmail.com>
Tue, 14 Jan 2014 23:02:01 +0000 (23:02 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Tue, 14 Jan 2014 23:02:01 +0000 (23:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199269 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IR/Module.h
lib/IR/Module.cpp

index 822b8a4565642764891c2ec0bcc7175575216878..4bfa9e68aa897f9f02b8b9fec67c592f8bcf1fdd 100644 (file)
@@ -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
index 996c5b67a4183181da005f4897b3edf610432dda..06eea7e388a8b9ef9bd5095b0c304d31dcfacefe 100644 (file)
@@ -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;
 }