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();