From: Dan Gohman Date: Mon, 23 Aug 2010 18:43:24 +0000 (+0000) Subject: formatted_tool_output_file::close needs to flush its buffer before X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=baf2883e0a294fabc059699037ad92822c46bd61;p=oota-llvm.git formatted_tool_output_file::close needs to flush its buffer before closing the underlying stream. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111822 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Support/FormattedStream.h b/include/llvm/Support/FormattedStream.h index 03cde412cd4..db02580323f 100644 --- a/include/llvm/Support/FormattedStream.h +++ b/include/llvm/Support/FormattedStream.h @@ -164,7 +164,12 @@ namespace llvm 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(); } + 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