Make tool_output_file's raw_ostream instance a member variable instead
of a base class.
This makes it possible to unregister the file from FilesToRemove when
the file is done. Also, this eliminates the need for
formatted_tool_output_file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112706 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/bugpoint/OptimizerDriver.cpp b/tools/bugpoint/OptimizerDriver.cpp
index 8f5ab72..3600ca6 100644
--- a/tools/bugpoint/OptimizerDriver.cpp
+++ b/tools/bugpoint/OptimizerDriver.cpp
@@ -58,14 +58,14 @@
tool_output_file Out(Filename.c_str(), ErrInfo,
raw_fd_ostream::F_Binary);
if (ErrInfo.empty()) {
- WriteBitcodeToFile(M, Out);
- Out.close();
- if (!Out.has_error()) {
+ WriteBitcodeToFile(M, Out.os());
+ Out.os().close();
+ if (!Out.os().has_error()) {
Out.keep();
return false;
}
}
- Out.clear_error();
+ Out.os().clear_error();
return true;
}
@@ -140,11 +140,11 @@
errs() << "Error opening bitcode file: " << inputFilename.str() << "\n";
return 1;
}
- WriteBitcodeToFile(Program, InFile);
- InFile.close();
- if (InFile.has_error()) {
+ WriteBitcodeToFile(Program, InFile.os());
+ InFile.os().close();
+ if (InFile.os().has_error()) {
errs() << "Error writing bitcode file: " << inputFilename.str() << "\n";
- InFile.clear_error();
+ InFile.os().clear_error();
return 1;
}
InFile.keep();