From 65f62790d6e3e7f7ceb9cd12a7a51a66d95a3b03 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 1 Aug 2003 20:29:45 +0000 Subject: [PATCH] Use the new FileUtilities library to do diff'ing of files git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7484 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/bugpoint/ExecutionDriver.cpp | 31 +++++++++--------------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/tools/bugpoint/ExecutionDriver.cpp b/tools/bugpoint/ExecutionDriver.cpp index 0b875cba08e..abfbe96a8c6 100644 --- a/tools/bugpoint/ExecutionDriver.cpp +++ b/tools/bugpoint/ExecutionDriver.cpp @@ -18,6 +18,7 @@ BUGPOINT NOTES: #include "SystemUtils.h" #include "Support/CommandLine.h" #include "Support/Statistic.h" +#include "Support/FileUtilities.h" #include #include @@ -583,30 +584,16 @@ bool BugDriver::diffProgram(const std::string &BytecodeFile, // Execute the program, generating an output file... std::string Output = executeProgram("", BytecodeFile, SharedObject); - std::ifstream ReferenceFile(ReferenceOutputFile.c_str()); - if (!ReferenceFile) { - std::cerr << "Couldn't open reference output file '" - << ReferenceOutputFile << "'\n"; - exit(1); - } - - std::ifstream OutputFile(Output.c_str()); - if (!OutputFile) { - std::cerr << "Couldn't open output file: " << Output << "'!\n"; - exit(1); - } - + std::string Error; bool FilesDifferent = false; + if (DiffFiles(ReferenceOutputFile, Output, &Error)) { + if (!Error.empty()) { + std::cerr << "While diffing output: " << Error << "\n"; + exit(1); + } + FilesDifferent = true; + } - // Compare the two files... - int C1, C2; - do { - C1 = ReferenceFile.get(); - C2 = OutputFile.get(); - if (C1 != C2) { FilesDifferent = true; break; } - } while (C1 != EOF); - - //removeFile(Output); if (RemoveBytecode) removeFile(BytecodeFile); return FilesDifferent; }