From cf43edc33e2a88a4b05cec48948f6d38a7ad6dcd Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 12 May 2004 02:55:45 +0000 Subject: [PATCH] Don't leave dead bytecode.output files around if the optimizer/block extractor crashes. llvm-svn: 13477 --- tools/bugpoint/OptimizerDriver.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/tools/bugpoint/OptimizerDriver.cpp b/tools/bugpoint/OptimizerDriver.cpp index ad69caaec6e..c5c437ccdb8 100644 --- a/tools/bugpoint/OptimizerDriver.cpp +++ b/tools/bugpoint/OptimizerDriver.cpp @@ -135,13 +135,12 @@ bool BugDriver::runPasses(const std::vector &Passes, exit(1); } - // If we are supposed to delete the bytecode file, remove it now - // unconditionally... this may fail if the file was never created, but that's - // ok. - if (DeleteOutput) - removeFile(OutputFilename); - bool ExitedOK = WIFEXITED(Status) && WEXITSTATUS(Status) == 0; + + // If we are supposed to delete the bytecode file or if the passes crashed, + // remove it now. This may fail if the file was never created, but that's ok. + if (DeleteOutput || !ExitedOK) + removeFile(OutputFilename); if (!Quiet) { if (ExitedOK)