diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2006-08-23 20:34:57 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2006-08-23 20:34:57 +0000 |
commit | 51c5a286bae5ad27ddc49602f44b7ea7253a4cc9 (patch) | |
tree | 23e5816bdf4e8ea6f02a6d639101c9132ac3ea54 /tools/bugpoint/OptimizerDriver.cpp | |
parent | cc2e0845c30cbbf79b51c6c39c102af27c19a1a8 (diff) | |
download | external_llvm-51c5a286bae5ad27ddc49602f44b7ea7253a4cc9.zip external_llvm-51c5a286bae5ad27ddc49602f44b7ea7253a4cc9.tar.gz external_llvm-51c5a286bae5ad27ddc49602f44b7ea7253a4cc9.tar.bz2 |
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.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/tools/bugpoint/OptimizerDriver.cpp b/tools/bugpoint/OptimizerDriver.cpp index 4311200..956faba4 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, |