summaryrefslogtreecommitdiffstats
path: root/llvm/tools/bugpoint/OptimizerDriver.cpp
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-10-29 16:18:26 +0000
committerDan Gohman <gohman@apple.com>2010-10-29 16:18:26 +0000
commit094da1dc4423624e2a20a971d5665bee16327651 (patch)
tree379eb9680b9cd5610c0c002613b93e62a714bd03 /llvm/tools/bugpoint/OptimizerDriver.cpp
parent9e08246040a72e59ba033eb1e5be7a417dd6fff1 (diff)
downloadbcm5719-llvm-094da1dc4423624e2a20a971d5665bee16327651.tar.gz
bcm5719-llvm-094da1dc4423624e2a20a971d5665bee16327651.zip
Check for (unlikely) errors from FindExecutable.
llvm-svn: 117658
Diffstat (limited to 'llvm/tools/bugpoint/OptimizerDriver.cpp')
-rw-r--r--llvm/tools/bugpoint/OptimizerDriver.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/llvm/tools/bugpoint/OptimizerDriver.cpp b/llvm/tools/bugpoint/OptimizerDriver.cpp
index 131bc997b16..178b1ff3ed1 100644
--- a/llvm/tools/bugpoint/OptimizerDriver.cpp
+++ b/llvm/tools/bugpoint/OptimizerDriver.cpp
@@ -143,11 +143,18 @@ bool BugDriver::runPasses(Module *Program,
InFile.os().clear_error();
return 1;
}
+
+ sys::Path tool = FindExecutable("opt", getToolName(), (void*)"opt");
+ if (tool.empty()) {
+ errs() << "Cannot find `opt' in executable directory!\n";
+ return 1;
+ }
+
+ // Ok, everything that could go wrong before running opt is done.
InFile.keep();
// setup the child process' arguments
SmallVector<const char*, 8> Args;
- sys::Path tool = FindExecutable("opt", getToolName(), (void*)"opt");
std::string Opt = tool.str();
if (UseValgrind) {
Args.push_back("valgrind");
OpenPOWER on IntegriCloud