From 48534b31d8bc5a68ba152fcdb905bf266def5268 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Tue, 21 Oct 2008 19:53:10 +0000 Subject: [PATCH] Clear raw_fd_ostream error string on success and explain behavior in documentation. Add C++ header marker. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57923 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/raw_ostream.h | 9 +++++---- lib/Support/raw_ostream.cpp | 9 ++++++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/include/llvm/Support/raw_ostream.h b/include/llvm/Support/raw_ostream.h index 5ab0988d3ee..af53477cea3 100644 --- a/include/llvm/Support/raw_ostream.h +++ b/include/llvm/Support/raw_ostream.h @@ -1,4 +1,4 @@ -//===--- raw_ostream.h - Raw output stream --------------------------------===// +//===--- raw_ostream.h - Raw output stream ----------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // @@ -152,9 +152,10 @@ class raw_fd_ostream : public raw_ostream { int FD; bool ShouldClose; public: - /// raw_fd_ostream - Open the specified file for writing. If an error occurs, - /// information about the error is put into ErrorInfo, and the stream should - /// be immediately destroyed. + /// raw_fd_ostream - Open the specified file for writing. If an + /// error occurs, information about the error is put into ErrorInfo, + /// and the stream should be immediately destroyed; the string will + /// be empty if no error occurred. raw_fd_ostream(const char *Filename, std::string &ErrorInfo); /// raw_fd_ostream ctor - FD is the file descriptor that this writes to. If diff --git a/lib/Support/raw_ostream.cpp b/lib/Support/raw_ostream.cpp index 008f85603ee..f3a53a50617 100644 --- a/lib/Support/raw_ostream.cpp +++ b/lib/Support/raw_ostream.cpp @@ -196,10 +196,13 @@ void format_object_base::home() { // raw_fd_ostream //===----------------------------------------------------------------------===// -/// raw_fd_ostream - Open the specified file for writing. If an error occurs, -/// information about the error is put into ErrorInfo, and the stream should -/// be immediately destroyed. +/// raw_fd_ostream - Open the specified file for writing. If an error +/// occurs, information about the error is put into ErrorInfo, and the +/// stream should be immediately destroyed; the string will be empty +/// if no error occurred. raw_fd_ostream::raw_fd_ostream(const char *Filename, std::string &ErrorInfo) { + ErrorInfo.clear(); + // Handle "-" as stdout. if (Filename[0] == '-' && Filename[1] == 0) { FD = STDOUT_FILENO;