diff options
Diffstat (limited to 'lib/Solver/QueryLoggingSolver.cpp')
-rw-r--r-- | lib/Solver/QueryLoggingSolver.cpp | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/lib/Solver/QueryLoggingSolver.cpp b/lib/Solver/QueryLoggingSolver.cpp index cf4966cd..7e4d8fe0 100644 --- a/lib/Solver/QueryLoggingSolver.cpp +++ b/lib/Solver/QueryLoggingSolver.cpp @@ -13,6 +13,7 @@ #ifdef HAVE_ZLIB_H #include "klee/Internal/Support/CompressionStream.h" #include "klee/Internal/Support/ErrorHandling.h" +#include "klee/Internal/Support/FileHandling.h" #endif #if LLVM_VERSION_CODE >= LLVM_VERSION(3, 5) @@ -39,27 +40,17 @@ QueryLoggingSolver::QueryLoggingSolver(Solver *_solver, std::string path, : solver(_solver), os(0), BufferString(""), logBuffer(BufferString), queryCount(0), minQueryTimeToLog(queryTimeToLog), startTime(0.0f), lastQueryTime(0.0f), queryCommentSign(commentSign) { + std::string error; #ifdef HAVE_ZLIB_H if (!CreateCompressedQueryLog) { #endif -#if LLVM_VERSION_CODE >= LLVM_VERSION(3, 6) - std::error_code ec; - os = new llvm::raw_fd_ostream(path.c_str(), ec, - llvm::sys::fs::OpenFlags::F_Text); - if (ec) - ErrorInfo = ec.message(); -#elif LLVM_VERSION_CODE >= LLVM_VERSION(3, 5) - os = new llvm::raw_fd_ostream(path.c_str(), ErrorInfo, - llvm::sys::fs::OpenFlags::F_Text); -#else - os = new llvm::raw_fd_ostream(path.c_str(), ErrorInfo); -#endif + os = klee_open_output_file(path, error); #ifdef HAVE_ZLIB_H } else { - os = new compressed_fd_ostream((path + ".gz").c_str(), ErrorInfo); + os = new compressed_fd_ostream((path + ".gz").c_str(), error); } - if (ErrorInfo != "") { - klee_error("Could not open file %s : %s", path.c_str(), ErrorInfo.c_str()); + if (!error.empty()) { + klee_error("Could not open file %s : %s", path.c_str(), error.c_str()); } #endif assert(0 != solver); |