summaryrefslogtreecommitdiff
path: root/tools/bugpoint/OptimizerDriver.cpp
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2006-08-23 20:34:57 +0000
committerReid Spencer <rspencer@reidspencer.com>2006-08-23 20:34:57 +0000
commit51c5a286bae5ad27ddc49602f44b7ea7253a4cc9 (patch)
tree23e5816bdf4e8ea6f02a6d639101c9132ac3ea54 /tools/bugpoint/OptimizerDriver.cpp
parentcc2e0845c30cbbf79b51c6c39c102af27c19a1a8 (diff)
downloadllvm-51c5a286bae5ad27ddc49602f44b7ea7253a4cc9.tar.gz
llvm-51c5a286bae5ad27ddc49602f44b7ea7253a4cc9.tar.bz2
llvm-51c5a286bae5ad27ddc49602f44b7ea7253a4cc9.tar.xz
For PR797:
Final removal of exceptions from lib/System and adjustment of users to accommodate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29846 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/bugpoint/OptimizerDriver.cpp')
-rw-r--r--tools/bugpoint/OptimizerDriver.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/tools/bugpoint/OptimizerDriver.cpp b/tools/bugpoint/OptimizerDriver.cpp
index 4311200cc3..956faba41b 100644
--- a/tools/bugpoint/OptimizerDriver.cpp
+++ b/tools/bugpoint/OptimizerDriver.cpp
@@ -139,12 +139,21 @@ bool BugDriver::runPasses(const std::vector<const PassInfo*> &Passes,
// setup the output file name
std::cout << std::flush;
sys::Path uniqueFilename("bugpoint-output.bc");
- uniqueFilename.makeUnique();
+ std::string ErrMsg;
+ if (uniqueFilename.makeUnique(true, &ErrMsg)) {
+ std::cerr << getToolName() << ": Error making unique filename: "
+ << ErrMsg << "\n";
+ return(1);
+ }
OutputFilename = uniqueFilename.toString();
// set up the input file name
sys::Path inputFilename("bugpoint-input.bc");
- inputFilename.makeUnique();
+ if (inputFilename.makeUnique(true, &ErrMsg)) {
+ std::cerr << getToolName() << ": Error making unique filename: "
+ << ErrMsg << "\n";
+ return(1);
+ }
std::ios::openmode io_mode = std::ios::out | std::ios::trunc |
std::ios::binary;
std::ofstream InFile(inputFilename.c_str(), io_mode);
@@ -179,7 +188,6 @@ bool BugDriver::runPasses(const std::vector<const PassInfo*> &Passes,
args[n++] = 0;
sys::Path prog(sys::Program::FindProgramByName(ToolName));
- std::string ErrMsg;
int result = sys::Program::ExecuteAndWait(prog,args,0,0,Timeout,&ErrMsg);
// If we are supposed to delete the bytecode file or if the passes crashed,