diff options
author | Dan Gohman <gohman@apple.com> | 2010-09-01 14:20:41 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-09-01 14:20:41 +0000 |
commit | d4c454317a38d65957edebe62bfc69fc8d9885e8 (patch) | |
tree | dbf117519d428f04854447edee010962e68e5753 /include/llvm/Support/FormattedStream.h | |
parent | 41154114f64c1531764236e9268d2a5ac52e3e91 (diff) |
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
Diffstat (limited to 'include/llvm/Support/FormattedStream.h')
-rw-r--r-- | include/llvm/Support/FormattedStream.h | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/include/llvm/Support/FormattedStream.h b/include/llvm/Support/FormattedStream.h index db02580323..58a1885168 100644 --- a/include/llvm/Support/FormattedStream.h +++ b/include/llvm/Support/FormattedStream.h @@ -19,14 +19,10 @@ namespace llvm { - class formatted_tool_output_file; - /// formatted_raw_ostream - Formatted raw_fd_ostream to handle /// asm-specific constructs. /// class formatted_raw_ostream : public raw_ostream { - friend class formatted_tool_output_file; - public: /// DELETE_STREAM - Tell the destructor to delete the held stream. /// @@ -140,38 +136,6 @@ namespace llvm } }; - /// formatted_tool_output_file - This is a subclass of formatted_raw_ostream - /// for use when the underlying stream is a tool_output_file. It exposes - /// keep() and several other member functions. - class formatted_tool_output_file : public formatted_raw_ostream { - private: - tool_output_file &get_tool_output_file() const { - return *static_cast<tool_output_file *>(TheStream); - } - - public: - formatted_tool_output_file(tool_output_file &Stream, bool Delete = false) - : formatted_raw_ostream(Stream, Delete) {} - - formatted_tool_output_file() {} - - ~formatted_tool_output_file(); - - void setStream(tool_output_file &Stream, bool Delete = false) { - return formatted_raw_ostream::setStream(Stream, Delete); - } - - void keep() { return get_tool_output_file().keep(); } - bool has_error() const { return get_tool_output_file().has_error(); } - void clear_error() { return get_tool_output_file().clear_error(); } - void close() { - // The inner stream is unbuffered; flush the outer stream's buffer. - flush(); - // The inner stream can close its file descriptor now. - return get_tool_output_file().close(); - } - }; - /// fouts() - This returns a reference to a formatted_raw_ostream for /// standard output. Use it like: fouts() << "foo" << "bar"; formatted_raw_ostream &fouts(); |