summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-extract/llvm-extract.cpp
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2016-11-09 17:49:19 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2016-11-09 17:49:19 +0000
commit7f00d0a125b98a1c68b05e7b6be4e89f39bf8240 (patch)
treeb13eb173d29b968498f03be9eceaf03f58752d76 /llvm/tools/llvm-extract/llvm-extract.cpp
parent9934c54cca1bc94e02f58c3fe1209e72312c115b (diff)
downloadbcm5719-llvm-7f00d0a125b98a1c68b05e7b6be4e89f39bf8240.tar.gz
bcm5719-llvm-7f00d0a125b98a1c68b05e7b6be4e89f39bf8240.zip
Bitcode: Change the materializer interface to return llvm::Error.
Differential Revision: https://reviews.llvm.org/D26439 llvm-svn: 286382
Diffstat (limited to 'llvm/tools/llvm-extract/llvm-extract.cpp')
-rw-r--r--llvm/tools/llvm-extract/llvm-extract.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/llvm/tools/llvm-extract/llvm-extract.cpp b/llvm/tools/llvm-extract/llvm-extract.cpp
index 900c461ebd8..e576d0893bf 100644
--- a/llvm/tools/llvm-extract/llvm-extract.cpp
+++ b/llvm/tools/llvm-extract/llvm-extract.cpp
@@ -22,6 +22,7 @@
#include "llvm/IRReader/IRReader.h"
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/Support/CommandLine.h"
+#include "llvm/Support/Error.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/PrettyStackTrace.h"
@@ -222,12 +223,9 @@ int main(int argc, char **argv) {
}
}
- auto Materialize = [&](GlobalValue &GV) {
- if (std::error_code EC = GV.materialize()) {
- errs() << argv[0] << ": error reading input: " << EC.message() << "\n";
- exit(1);
- }
- };
+ ExitOnError ExitOnErr(std::string(argv[0]) + ": error reading input: ");
+
+ auto Materialize = [&](GlobalValue &GV) { ExitOnErr(GV.materialize()); };
// Materialize requisite global values.
if (!DeleteFn) {
@@ -251,7 +249,7 @@ int main(int argc, char **argv) {
// Now that we have all the GVs we want, mark the module as fully
// materialized.
// FIXME: should the GVExtractionPass handle this?
- M->materializeAll();
+ ExitOnErr(M->materializeAll());
}
// In addition to deleting all other functions, we also want to spiff it
OpenPOWER on IntegriCloud