Export error-handling functions in formatted_tool_output_file.

llvm-svn: 111638
This commit is contained in:
Dan Gohman 2010-08-20 16:27:38 +00:00
parent 9052c35479
commit c53191aba4
1 changed files with 10 additions and 2 deletions

View File

@ -142,8 +142,13 @@ namespace llvm
/// formatted_tool_output_file - This is a subclass of formatted_raw_ostream /// 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 /// for use when the underlying stream is a tool_output_file. It exposes
/// the keep() member function. /// keep() and several other member functions.
class formatted_tool_output_file : public formatted_raw_ostream { 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: public:
formatted_tool_output_file(tool_output_file &Stream, bool Delete = false) formatted_tool_output_file(tool_output_file &Stream, bool Delete = false)
: formatted_raw_ostream(Stream, Delete) {} : formatted_raw_ostream(Stream, Delete) {}
@ -156,7 +161,10 @@ namespace llvm
return formatted_raw_ostream::setStream(Stream, Delete); return formatted_raw_ostream::setStream(Stream, Delete);
} }
void keep() { return static_cast<tool_output_file *>(TheStream)->keep(); } 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() { return get_tool_output_file().close(); }
}; };
/// fouts() - This returns a reference to a formatted_raw_ostream for /// fouts() - This returns a reference to a formatted_raw_ostream for